git-topic 0.2.3.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gvimrc +3 -5
 - data/History.txt +5 -1
 - data/VERSION.yml +2 -2
 - data/lib/git_topic.rb +34 -8
 - data/spec/comment_spec.rb +1 -0
 - data/spec/git_topic_setup_spec.rb +55 -3
 - metadata +3 -4
 
    
        data/.gvimrc
    CHANGED
    
    | 
         @@ -1,7 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
         
     | 
| 
       2 
     | 
    
         
            -
            " Setup tabs 
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            Project .vimproject
         
     | 
| 
      
 2 
     | 
    
         
            +
            " Setup tabs
         
     | 
| 
       5 
3 
     | 
    
         | 
| 
       6 
4 
     | 
    
         
             
            tabnew
         
     | 
| 
       7 
5 
     | 
    
         
             
            tabnew
         
     | 
| 
         @@ -13,11 +11,11 @@ tabnew 
     | 
|
| 
       13 
11 
     | 
    
         
             
            tabnew
         
     | 
| 
       14 
12 
     | 
    
         
             
            tabnew
         
     | 
| 
       15 
13 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
            tabdo Project
         
     | 
| 
       17 
     | 
    
         
            -
            tabdo wincmd l
         
     | 
| 
       18 
14 
     | 
    
         
             
            tabdo wincmd n
         
     | 
| 
      
 15 
     | 
    
         
            +
            tabdo wincmd =
         
     | 
| 
       19 
16 
     | 
    
         | 
| 
       20 
17 
     | 
    
         
             
            1tabn
         
     | 
| 
       21 
18 
     | 
    
         
             
            """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
         
     | 
| 
       22 
19 
     | 
    
         | 
| 
       23 
20 
     | 
    
         
             
            winpos 433 25
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
    
        data/History.txt
    CHANGED
    
    
    
        data/VERSION.yml
    CHANGED
    
    
    
        data/lib/git_topic.rb
    CHANGED
    
    | 
         @@ -325,11 +325,22 @@ module GitTopic 
     | 
|
| 
       325 
325 
     | 
    
         | 
| 
       326 
326 
     | 
    
         
             
                # Setup .git/config.
         
     | 
| 
       327 
327 
     | 
    
         
             
                #
         
     | 
| 
       328 
     | 
    
         
            -
                # This  
     | 
| 
       329 
     | 
    
         
            -
                # comments.
         
     | 
| 
      
 328 
     | 
    
         
            +
                # This means setting up:
         
     | 
| 
      
 329 
     | 
    
         
            +
                #   1. refspecs for origin fetching for review comments.
         
     | 
| 
      
 330 
     | 
    
         
            +
                #   2. notes.rewriteRef for copying review comments on rebase.
         
     | 
| 
      
 331 
     | 
    
         
            +
                #
         
     | 
| 
       330 
332 
     | 
    
         
             
                def setup( opts={} )
         
     | 
| 
       331 
     | 
    
         
            -
                   
     | 
| 
       332 
     | 
    
         
            -
             
     | 
| 
      
 333 
     | 
    
         
            +
                  cmds = []
         
     | 
| 
      
 334 
     | 
    
         
            +
             
     | 
| 
      
 335 
     | 
    
         
            +
                  cmds <<(
         
     | 
| 
      
 336 
     | 
    
         
            +
                    "config --add remote.origin.fetch refs/notes/reviews/*:refs/notes/reviews/*"
         
     | 
| 
      
 337 
     | 
    
         
            +
                  ) unless has_setup_refspec?
         
     | 
| 
      
 338 
     | 
    
         
            +
             
     | 
| 
      
 339 
     | 
    
         
            +
                  cmds <<(
         
     | 
| 
      
 340 
     | 
    
         
            +
                    "config --add notes.rewriteRef refs/notes/reviews/*"
         
     | 
| 
      
 341 
     | 
    
         
            +
                  ) unless has_setup_notes_rewrite?
         
     | 
| 
      
 342 
     | 
    
         
            +
             
     | 
| 
      
 343 
     | 
    
         
            +
                  git cmds.compact
         
     | 
| 
       333 
344 
     | 
    
         
             
                end
         
     | 
| 
       334 
345 
     | 
    
         | 
| 
       335 
346 
     | 
    
         
             
                def install_aliases( opts={} )
         
     | 
| 
         @@ -378,18 +389,26 @@ module GitTopic 
     | 
|
| 
       378 
389 
     | 
    
         
             
                  suppress_whine = `git config topic.checkForNotesRef`.chomp == "false"
         
     | 
| 
       379 
390 
     | 
    
         
             
                  return if suppress_whine
         
     | 
| 
       380 
391 
     | 
    
         | 
| 
       381 
     | 
    
         
            -
                  unless has_setup_refspec?
         
     | 
| 
      
 392 
     | 
    
         
            +
                  unless has_setup_refspec? && has_setup_notes_rewrite?
         
     | 
| 
       382 
393 
     | 
    
         
             
                    STDERR.puts "
         
     | 
| 
       383 
394 
     | 
    
         
             
                      Warning: git repository is not set up for git topic.  Review comments
         
     | 
| 
       384 
     | 
    
         
            -
                      will not automatically be pulled on git fetch 
     | 
| 
       385 
     | 
    
         
            -
                      for suppressing this message:
         
     | 
| 
      
 395 
     | 
    
         
            +
                      will not automatically be pulled on git fetch and will not be copied
         
     | 
| 
      
 396 
     | 
    
         
            +
                      on a rebase.  You have two options for suppressing this message:
         
     | 
| 
      
 397 
     | 
    
         
            +
             
     | 
| 
      
 398 
     | 
    
         
            +
                      1.  Run git-topic setup to setup fetch refspecs for origin and
         
     | 
| 
      
 399 
     | 
    
         
            +
                          comments copying on rebase.
         
     | 
| 
       386 
400 
     | 
    
         | 
| 
       387 
     | 
    
         
            -
                      1.  Run git-topic setup to setup fetch refspecs for origin.
         
     | 
| 
       388 
401 
     | 
    
         
             
                      2.  Run git config topic.checkForNotesRef false.
         
     | 
| 
       389 
402 
     | 
    
         
             
                          If you do this, you can manually fetch reviewers' comments with
         
     | 
| 
       390 
403 
     | 
    
         
             
                          the following command
         
     | 
| 
       391 
404 
     | 
    
         | 
| 
       392 
405 
     | 
    
         
             
                              git fetch origin refs/notes/reviews/*:refs/notes/reviews/*
         
     | 
| 
      
 406 
     | 
    
         
            +
             
     | 
| 
      
 407 
     | 
    
         
            +
                          Similarly, you can ensure your comments are not lost on rebase by running
         
     | 
| 
      
 408 
     | 
    
         
            +
             
     | 
| 
      
 409 
     | 
    
         
            +
                            GIT_NOTES_REWRITE_REF=refs/notes/reviews/* git rebase
         
     | 
| 
      
 410 
     | 
    
         
            +
             
     | 
| 
      
 411 
     | 
    
         
            +
                          instead of `git rebase`
         
     | 
| 
       393 
412 
     | 
    
         
             
                    ".cleanup
         
     | 
| 
       394 
413 
     | 
    
         
             
                  end
         
     | 
| 
       395 
414 
     | 
    
         
             
                end
         
     | 
| 
         @@ -401,6 +420,13 @@ module GitTopic 
     | 
|
| 
       401 
420 
     | 
    
         
             
                  end
         
     | 
| 
       402 
421 
     | 
    
         
             
                end
         
     | 
| 
       403 
422 
     | 
    
         | 
| 
      
 423 
     | 
    
         
            +
                def has_setup_notes_rewrite?
         
     | 
| 
      
 424 
     | 
    
         
            +
                  notes_rewrites = capture_git( "config --get-all notes.rewriteRef" ).split( "\n" )
         
     | 
| 
      
 425 
     | 
    
         
            +
                  notes_rewrites.any? do |refs|
         
     | 
| 
      
 426 
     | 
    
         
            +
                    refs == "refs/notes/reviews/*"
         
     | 
| 
      
 427 
     | 
    
         
            +
                  end
         
     | 
| 
      
 428 
     | 
    
         
            +
                end
         
     | 
| 
      
 429 
     | 
    
         
            +
             
     | 
| 
       404 
430 
     | 
    
         
             
              end
         
     | 
| 
       405 
431 
     | 
    
         
             
            end
         
     | 
| 
       406 
432 
     | 
    
         | 
    
        data/spec/comment_spec.rb
    CHANGED
    
    
| 
         @@ -9,14 +9,45 @@ describe GitTopic do 
     | 
|
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                it "should install reviews refspec for origin" do
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 12 
     | 
    
         
            +
                  %x{ 
         
     | 
| 
       13 
13 
     | 
    
         
             
                    git config --get-all remote.origin.fetch
         
     | 
| 
       14 
14 
     | 
    
         
             
                  }.should_not                            =~ %r{refs/notes}
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                  GitTopic.setup
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  %x{ 
         
     | 
| 
      
 19 
     | 
    
         
            +
                    git config --get-all remote.origin.fetch
         
     | 
| 
      
 20 
     | 
    
         
            +
                   }.should                                =~ %r{refs/notes}
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                it "should configure notes.rewriteRef" do
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
       17 
25 
     | 
    
         
             
                 %x{ 
         
     | 
| 
      
 26 
     | 
    
         
            +
                    git config --get-all notes.rewriteRef
         
     | 
| 
      
 27 
     | 
    
         
            +
                  }.should_not                            =~ %r{refs/notes}
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  GitTopic.setup
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  %x{ 
         
     | 
| 
      
 32 
     | 
    
         
            +
                     git config --get-all notes.rewriteRef
         
     | 
| 
      
 33 
     | 
    
         
            +
                   }.should                                =~ %r{refs/notes}
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                it "should configure notes.rewriteRef even if refspecs are already set up" do
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  system "git config --add remote.origin.fetch refs/notes/reviews/*:refs/notes/reviews/*"
         
     | 
| 
      
 39 
     | 
    
         
            +
                  GitTopic.setup
         
     | 
| 
      
 40 
     | 
    
         
            +
                  %x{ 
         
     | 
| 
      
 41 
     | 
    
         
            +
                     git config --get-all notes.rewriteRef
         
     | 
| 
      
 42 
     | 
    
         
            +
                   }.should                                =~ %r{refs/notes}
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                it "should configure refspecs even if notes.rewriteRef is already set up" do
         
     | 
| 
      
 46 
     | 
    
         
            +
                  system "git config --add notes.rewriteRef refs/notes/reviews/*"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  GitTopic.setup
         
     | 
| 
      
 48 
     | 
    
         
            +
                  %x{ 
         
     | 
| 
       18 
49 
     | 
    
         
             
                    git config --get-all remote.origin.fetch
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 50 
     | 
    
         
            +
                   }.should                                =~ %r{refs/notes}
         
     | 
| 
       20 
51 
     | 
    
         
             
                end
         
     | 
| 
       21 
52 
     | 
    
         | 
| 
       22 
53 
     | 
    
         
             
                it "should be idempotent" do
         
     | 
| 
         @@ -57,10 +88,31 @@ describe GitTopic do 
     | 
|
| 
       57 
88 
     | 
    
         
             
                  end
         
     | 
| 
       58 
89 
     | 
    
         
             
                end
         
     | 
| 
       59 
90 
     | 
    
         | 
| 
      
 91 
     | 
    
         
            +
                describe "
         
     | 
| 
      
 92 
     | 
    
         
            +
                  when in a git repository that is set up for fetching, but not rewriting
         
     | 
| 
      
 93 
     | 
    
         
            +
                  notes
         
     | 
| 
      
 94 
     | 
    
         
            +
                ".oneline do
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
                  before( :each ) { use_repo 'in-progress' }
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                  it "should ask the user to #setup or configure no-whine" do
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                    system "git config --add remote.origin.fetch refs/notes/reviews/*:refs/notes/reviews/*"
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                    with_argv( [] ) do
         
     | 
| 
      
 103 
     | 
    
         
            +
                      GitTopic.run
         
     | 
| 
      
 104 
     | 
    
         
            +
                      @err.should                       =~ /setup/
         
     | 
| 
      
 105 
     | 
    
         
            +
                    end
         
     | 
| 
      
 106 
     | 
    
         
            +
                  end
         
     | 
| 
      
 107 
     | 
    
         
            +
                end
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
       60 
109 
     | 
    
         
             
                describe "when in a git repository configured for nowhining" do
         
     | 
| 
       61 
110 
     | 
    
         
             
                  before( :each ) { use_repo 'in-progress' }
         
     | 
| 
       62 
111 
     | 
    
         | 
| 
       63 
     | 
    
         
            -
                  it " 
     | 
| 
      
 112 
     | 
    
         
            +
                  it "
         
     | 
| 
      
 113 
     | 
    
         
            +
                    should not whine, even when refs are not set up and notes.rewriteRef is
         
     | 
| 
      
 114 
     | 
    
         
            +
                    not setup
         
     | 
| 
      
 115 
     | 
    
         
            +
                  ".oneline do
         
     | 
| 
       64 
116 
     | 
    
         
             
                    system "git config topic.checkForNotesRef false > /dev/null 2> /dev/null"
         
     | 
| 
       65 
117 
     | 
    
         
             
                    GitTopic.run
         
     | 
| 
       66 
118 
     | 
    
         
             
                    @err.should_not                         =~ /setup/
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,9 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 2
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
              version: 0.2.3.3
         
     | 
| 
      
 8 
     | 
    
         
            +
              - 4
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.2.4
         
     | 
| 
       11 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
12 
     | 
    
         
             
            - David J. Hamilton
         
     | 
| 
         @@ -15,7 +14,7 @@ autorequire: 
     | 
|
| 
       15 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-08-14 00:00:00 -07:00
         
     | 
| 
       19 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       20 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |