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. > > 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. > >