Hi Mark,

I see a potential for Git to facilitate a workflow that denies us early

profit from (anyone with access to the repo. can start to review, use,

and build on your work), because you get (your work is protected from

mishap) and (you can easily roll back changes that didn't work out)

by committing locally without sharing.  I think that would be a mistake.

I'd like to encourage everyone to frequently ask: "what do I have that's
> ready

(or easily could be)", to organize work so that there is often a non-null

 answer to that question, and to move small units of work up the workflow
> early


So, git committing locally and never pushing to a publicly accesible remote
could be a problem introduced by this. But its so easy to have your
personal fork of a project, and push your feature branch there. Atleast
before locking your computer for the day do a git push my-public-repo
my-crazy-feature. I think that practice will show us that committing early
and committing often (and then pushing to your public remote), will give
you benefits of being able to collaborate with others.



Also, to make tidy commits that only targets the relevant part of code that
you changed with good intent. I use git gui and it lets me easily stage
hunks and lines for a commit. So although I made have added some during
development things like: log.info(dso.getName()); I wouldn't commit those
lines.

For Chris Wilper's take that you might also want to squash your
intermediate commits into less verbose ones for public consumption, that
probably good, but I'm not in the habit of doing that. But with DSpace
going to GitHub, that is new territory for me to have commits for public
consumption, as opposed to commits that are good enough for sharing with my
project team.



Peter Dietz



On Fri, Mar 9, 2012 at 11:06 AM, Mark H. Wood <mw...@iupui.edu> wrote:

> On Fri, Mar 09, 2012 at 10:36:58AM -0500, Chris Wilper wrote:
> [snip]
> > The workflow I like to follow is: While the work is in a local branch,
> > commit early and often so I can rollback easily if I do something dumb
> > a couple hours from now. Then, before pushing to origin, do surgery on
> > the commits via "git rebase -i' so they're:
> > a) in good-sized, meaningful chunks for other people to grok. Ideally
> > each chunk adds something useful and is well-tested, especially if
> > you're merging to master. This is the point where you can 'squash' all
> > those 'minor tweak' commits so people reviewing your changes or
> > browsing the repo history down the road don't have to wade through all
> > of them.
>
> This is a good point, and one that I hadn't considered (because I'm
> such a Git noob).  Working with Git is different from working with
> e.g. SVN because push/pull carries along all of the intermediate
> history from your local repo, while 'svn diff' doesn't.  I've been
> thinking in terms of committing once a day (lock my progress when I
> lock my desk) but that would often make for some puzzling history if
> shared.  Gotta spend some more quality time with _Pro Git_ this
> weekend.
>
> I do tend to rely on my IDE's organic local history facility to
> protect me from small oopses during the day, rather than the VCS, but
> that may change.  Something to think about.
>
> --
> Mark H. Wood, Lead System Programmer   mw...@iupui.edu
> Asking whether markets are efficient is like asking whether people are
> smart.
>
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Dspace-devel mailing list
> Dspace-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-devel
>
>
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to