Alexis

On Tue, Dec 9, 2008 at 1:39 PM, Alexis Midon <[EMAIL PROTECTED]> wrote:

>
> On Tue, Dec 9, 2008 at 11:55 AM, Assaf Arkin (JIRA) <[EMAIL PROTECTED]>wrote:
>
>>
>>    [
>> https://issues.apache.org/jira/browse/BUILDR-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12654926#action_12654926]
>>
>> Assaf Arkin commented on BUILDR-222:
>> ------------------------------------
>>
>> Awesome. A few comments:
>>
>> When you call Git.commit, it supers into a "common" commit (but only for
>> SVN and Git, not Hg) which then subs through a bin method to perform the
>> actual command, which doesn't mean the same thing in all VCS. In terms of
>> readability, there's more code to deal with than if the commit method was
>> never shared.
>
>
> ok, I will push down the super implementation.
>
>
>>
>> Git.commit is sometimes commit, but sometimes it's pushes, which happens
>> to be closer in spirit to an SVN commit, which just means the method name is
>> not self-describing.
>
>
> any suggestions?
>
>
>
>>
>> Vcs::Base.execute requires 8 lines (!) to deal with the :nofail option,
>> which in turn is only used once by Git's uncommitted_files method. Everybody
>> gets to share that code path, though. Much simpler is to have
>> uncommited_files deal with its own personal issues, changing its first line
>> to:
>>
>> status = `git status`
>>
>
> Actually I evaluated this option and found it not so great for testing. I
> can't see how to mock this shell call. I'm a bit uncomfortable with that.
>
>
>>
>> Git.applies_to? should look for .git (or .git/config) in the current
>> directory instead of running git branch. As a result of this change, you'll
>> only be able to make a release from a buildfile at the root of the project,
>> a good restriction to have.
>>
>
> Same issue for me here: testing/mocking. And the restriction you mentioned
> will not be valid  for Svn.
>
>

read "the restriction you mentioned *will be* valid  for Svn."


>
>
>
>>
>> Are both vcs and guess_vcs method necessary?
>
>
> Actually not. I will merge them.
>
>
>>
>> > Support Git as a version control system
>> > ---------------------------------------
>> >
>> >                 Key: BUILDR-222
>> >                 URL: https://issues.apache.org/jira/browse/BUILDR-222
>> >             Project: Buildr
>> >          Issue Type: Improvement
>> >          Components: Core features
>> >            Reporter: Alexis Midon
>> >         Attachments: BUILDR-222-0001-git-support-for-release.txt
>> >
>> >
>> > The Release task uses Subversion to check for uncommitted files and tag
>> the source repository.
>> > Of course this fails when your project does not use Subversion but Git
>> for instance.
>> > The improvement could be to provide a VCS abstraction with 2
>> implementations: Subversion and Git.
>> > A method could instantiate the proper implementation.
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> You can reply to this email to add a comment to the issue online.
>>
>>
>

Reply via email to