John Ralls-2 wrote
On Aug 21, 2012, at 8:01 AM, reubano lt;reubano@gt; wrote:
I propose the current git wiki[1] be edited. Right now it says If you
have a
Github account, it turns out that Github's fork feature doesn't play
well
with the Gnucash repository because of its unusual structure (which in
turn
is needed to synch it with subversion). This doesn't make it clear that
forking is ok in some circumstances.[2]
And if I'm understanding things, I should be able to:
fork
clone (my personal fork)
git remote add gc git://github.com/Gnucash/gnucash.git #See
https://help.github.com/articles/syncing-a-fork
git branch -t master refs/remotes/origin/trunk
git branch working
write code
make make check # Don't commit broken code
git commit -a # Git won't let you do
anything until you commit your tree
git checkout master
git pull remotes/gc/trunk # Otherwise the next step won't
do anything
git rebase master working
git format-patch master # Git format-patch needs a
starting ref for format-patch
git push -u origin master
...
Is this correct?
Almost. I've added/changed some steps. Note that the github doc I reffed
above uses git fetch and git merge separately; git pull does both steps at
once.
Ok, so for completeness this should be the full set of steps
fork
clone # Clone personal fork for offline development
git remote add gc git://github.com/Gnucash/gnucash.git #See
https://help.github.com/articles/syncing-a-fork
git branch -t master refs/remotes/origin/trunk
git branch working
write code
make make check# Don't commit broken code
git commit -a# Git won't let you do anything
until you commit your tree
git checkout master
git pull remotes/gc/trunk # Otherwise the next step won't do
anything
git rebase master working
git format-patch master # Git format-patch needs a starting ref
for format-patch
git push -u origin master
John Ralls-2 wrote
On Aug 21, 2012, at 8:01 AM, reubano lt;reubano@gt; wrote:
My suggestion is to have 'Basic (GitHub) Set-Up' and 'Advance (Non
GitHub)
Set-Up' sections to accommodate the cloning differences, i.e.,
git clone git://github.com/Gnucash/gnucash.git
git remote add myname-github remote server:myname/gnucash.git
Huh? You shouldn't clone Gnucash/gnucash.git and then push back to a new
github repo: That new repo's title won't show that it's forked from
Gnucash/gnucash and the Network stuff won't work.
I agree that you should need to clone Gnucash/gnucash.git but I was just
repeating the wiki instructions[1]
wiki wrote
Just clone the repository as usual:
git clone git://github.com/Gnucash/gnucash.git
snip
Instead, create a repository in your account (you can name it whatever you
like, but calling it Gnucash is likely to minimize confusion), then clone
the Gnucash/gnucash repository on your local computer. Add your Github
Gnucash repo as a remote
git remote add myname-github g...@github.com:myname/gnucash.git
[1] http://wiki.gnucash.org/wiki/Git#Non-Committers
At any rate, I think it is a moot point if we recommend forking and just
remove this step altogether.
John Ralls-2 wrote
On Aug 21, 2012, at 8:01 AM, reubano lt;reubano@gt; wrote:
vs
fork
git clone https://github.com/user/gnucash.git (just list HTTPS
assuming
those who want SSH will already know how to do it)
And then have a 'Contributing Code' section beginning with branching
instructions. *OR* to make it even simpler, just list everything for a
GitHub setup first and at the end add a note for those who don't use
GitHub
to clone and 'git remote add'.
You seem not to have grokked that we're not really interested in
integrating with Github's way of doing things, setting aside that they
keep changing it. For example, the *last* time I looked, you could sync a
fork from the website, which is what didn't play well with the git-svn
bridge. That's gone and you have to do it locally as described above. I'm
not sure that we want to encourage people to publish their forks on
Github, or anywhere else. Accounting software isn't a domain where
fast-and-loose development is a good idea.
I understand that there is no intention on integrating with github pull
requests and issues. What I am concerned about is making it easy for
developers to contribute. In support of this, I think forking and following
the steps above provides that.
--
View this message in context:
http://gnucash.1415818.n4.nabble.com/Non-commiter-github-workflow-tp4656382p4656402.html
Sent from the GnuCash - Dev mailing list archive at Nabble.com.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel