NPanday
  1. NPanday
  2. NPANDAY-476

Add "Resync references from local repository" in VS addin

    Details

      Description

      Patch is attached to NPANDAY-322

      As a developer of new modules, I'd like to be able to test & debug & refactor away the modules before I commit/push them to VCS and get these deployed into the remote repository by the build server.

      This is currently not possible.

      I'm working on X and Y (Y depends on X).
      I think I'm done on X and install X-1.0-SNAPSHOT in my local repo.
      I then add a dependency on X-1.0-SNAPSHOT in Y.

      Now, if I make a change in X, I'd like to re-install it in the local repo and use the updated X-1.0-SNAPSHOT in Y but I don't want to deploy X-1.0-SNAPSHOT in the remote repo.

      However, if I resync the references I'd currently hit NPANDAY-322, or in the best case I could get someone else's X-1.0-SNAPSHOT (which could have been updated in the remote repo while I'm working on X as well). However, I want to get the local repo's X, not the remote one's.

      I don't want to push X's changes and wait on the build server to deploy the new snapshot because I don't want to "hurt" the rest of the developers with something which might still have bugs in it, and I also don't want to get other devs's X-1.0-SNAPSHOT.

        Activity

        Hide
        Lars Corneliussen added a comment -

        Same here, if you'd like to submit a patch, we'll be happy to apply it.

        Show
        Lars Corneliussen added a comment - Same here, if you'd like to submit a patch, we'll be happy to apply it.
        Hide
        Stoyan Damov added a comment -

        The fix explained (as commented by Lars, patch is attached to NPANDAY-322):

        In Connect.cs refactored a bit so that methods dealing with resync solution/project references have appropriate names.
        Extracted the resync logic into implementation methods and refactored button click event handlers to call these.
        In the implementation methods added a boolean flag whether to resync from the remote or local repositories and then just delegated to the appropriate ReferenceManager.ResyncXxx call.

        In ReferenceManager.cs's IReferenceManager added ResyncArtifactsFromLocalRepository method.

        Refactored ResyncArtifacts and ResyncArtifactsFromLocalRepository to call an implementation method, passing whether the resync should be done from the remote or local repository.

        Show
        Stoyan Damov added a comment - The fix explained (as commented by Lars, patch is attached to NPANDAY-322 ): In Connect.cs refactored a bit so that methods dealing with resync solution/project references have appropriate names. Extracted the resync logic into implementation methods and refactored button click event handlers to call these. In the implementation methods added a boolean flag whether to resync from the remote or local repositories and then just delegated to the appropriate ReferenceManager.ResyncXxx call. In ReferenceManager.cs 's IReferenceManager added ResyncArtifactsFromLocalRepository method. Refactored ResyncArtifacts and ResyncArtifactsFromLocalRepository to call an implementation method, passing whether the resync should be done from the remote or local repository.
        Hide
        Lars Corneliussen added a comment -

        Should this command be explicitely "OFFLINE", hence never try to download the artifact, even if it exists in some remote repo? I think so.

        Show
        Lars Corneliussen added a comment - Should this command be explicitely "OFFLINE", hence never try to download the artifact, even if it exists in some remote repo? I think so.

          People

          • Assignee:
            Lars Corneliussen
            Reporter:
            Stoyan Damov
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development