Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Geert Janssens
On Monday 12 May 2014 14:47:13 John Ralls wrote:
 On May 8, 2014, at 1:40 PM, Geert Janssens janssens-ge...@telenet.be 
wrote:
  You're welcome. I was too curious to let it pass and it was a good
  opportunity to learn something about git merge in the process.
 
 The only actual damage seems to have been in
 src/report/report-gnome/gnc-plugin-page-report.c; at least that is
 the only file with significant diffs in `git diff 9d40512..49a5909`,
 which shows the net change from your reverting the merge, remerging,
 and re-doing the C++ fixups. All of the changes from this year were
 reversed in the original merge commit, so I must have messed up when
 handling the last or next-to-last back-merge and blithely picked the
 branch version for every diff. git rerere remembered and did the same
 when I did the forward-merge.
 
That's a reasonable explanation.

 So I’m going to revise my earlier worry about git being able to safely
 merge a long running commit: I’m not sure *I* can safely merge a
 long-running and complex branch in the face of dozens of conflicts. I
 guess that’s an argument for merging frequently to keep the conflicts
 under control.
 
Agreed. Your kvp branch was from before the git era when it wasn't 
possible to merge. We can now revise our strategy and merge master more 
frequently in longer running topic branches to reduce the merge 
complexity.

It will be a matter of finding a good balance. It doesn't make sense 
either to merge after each and every commit. That does indeed clutter up 
the branch history and makes the history harder to read in tools such as 
gitk.

Geert

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GnuCash at Open Help?

2014-05-13 Thread Geert Janssens
On Friday 09 May 2014 18:18:57 Wm Tarr wrote:
 On 07/05/2014 22:56, John Ralls wrote:
  On May 7, 2014, at 1:14 PM, Ekaterina Gerasimova 
kittykat3...@gmail.com wrote:
  Hi,
  
  I'm not sure if you're the right person to talk to about user help
  in
  GnuCash (documentation, mailing lists and other forms), so I would
  appreciate it if you could point me in the right direction if
  you're
  not the right person.
  
  I'm a long term GnuCash user and the current GNOME documentation
  team
  lead, so I'm somewhat interested in how GnuCash manage their
  documentation and user help.
  
  For the last few years, the GNOME docs team have been attending
  Open
  Help[1], and annual conference which is dedicated to documentation
  and user help in the open source/Free software world. The
  conference usually has many projects attending, such as Wikimedia
  and Debian, so makes a really good forum for documentation related
  talk and brainstorming.
  
  I've managed to wrangle a few free passes for the conference, so I
  was wondering if GnuCash would be interested in coming this year?
  There are still presentation/panel slots available if you're
  interested in talking about the project, and there are normally
  hackfest spaces available for a few days after the conference too.
  
  
  Looking forward to hearing from you
  Kat
  
  [1] http://openhelpconference.com/
  
  Kat,
  
  Thanks for thinking of us. I'm forwarding this to our developer's
  list to bring it to the attention of the rest of the team. It's a
  standard mailman list with a low level of traffic, but I'll
  understand completely if you choose not to subscribe to carry on
  the discussion. I'll relay your replies if you like.
  
  I'm not much of a documenter and any not able to attend a conference
  in mid-June. Perhaps someone else will pipe up.
  
  As for how we handle it, we maintain a separate repository for it;
  the public mirror is at https://github.com/Gnucash/gnucash-docs.
  We're currently releasing a new set in sync with GnuCash releases
  even if there are no documentation changes since the previous
  release. Online and downloadable versions of the released docs are,
  as you probably know, at http://www.gnucash.org/docs.phtml.
  
  The docs themselves are in DocBook as is standard for Gnome. We've
  had several instances of potential contributors being scared off
  because there are no good and Free direct editors and XML is a bit
  intimidating. We've discussed a few alternatives but haven't been
  able to agree on any.
 Any progress on this from a thought POV?
 
There are currently no changes planned in the documentation 
infrastructure.


 I managed to get some of it working and some of it written up but then
 thought ... why bother if no-one else will go through the hoops?
 
Why bother ? Because users will certainly be grateful for improvements 
in the documentation :)

 The conference is an ocean away from me.
 
That's the same for me.

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GnuCash at Open Help?

2014-05-13 Thread Ekaterina Gerasimova
On 7 May 2014 22:56, John Ralls jra...@ceridwen.us wrote:

 On May 7, 2014, at 1:14 PM, Ekaterina Gerasimova kittykat3...@gmail.com 
 wrote:

 Hi,

 I'm not sure if you're the right person to talk to about user help in
 GnuCash (documentation, mailing lists and other forms), so I would
 appreciate it if you could point me in the right direction if you're
 not the right person.

 I'm a long term GnuCash user and the current GNOME documentation team
 lead, so I'm somewhat interested in how GnuCash manage their
 documentation and user help.

 For the last few years, the GNOME docs team have been attending Open
 Help[1], and annual conference which is dedicated to documentation and
 user help in the open source/Free software world. The conference
 usually has many projects attending, such as Wikimedia and Debian, so
 makes a really good forum for documentation related talk and
 brainstorming.

 I've managed to wrangle a few free passes for the conference, so I was
 wondering if GnuCash would be interested in coming this year? There
 are still presentation/panel slots available if you're interested in
 talking about the project, and there are normally hackfest spaces
 available for a few days after the conference too.


 Looking forward to hearing from you
 Kat

 [1] http://openhelpconference.com/

 Kat,

 Thanks for thinking of us. I'm forwarding this to our developer's list to 
 bring it to the attention of the rest of the team. It's a standard mailman 
 list with a low level of traffic, but I'll understand completely if you 
 choose not to subscribe to carry on the discussion. I'll relay your replies 
 if you like.

No problem, I've subscribed now.

 I'm not much of a documenter and any not able to attend a conference in 
 mid-June. Perhaps someone else will pipe up.

Thanks for passing it on!

 As for how we handle it, we maintain a separate repository for it; the public 
 mirror is at https://github.com/Gnucash/gnucash-docs. We're currently 
 releasing a new set in sync with GnuCash releases even if there are no 
 documentation changes since the previous release. Online and downloadable 
 versions of the released docs are, as you probably know, at 
 http://www.gnucash.org/docs.phtml.

 The docs themselves are in DocBook as is standard for Gnome. We've had 
 several instances of potential contributors being scared off because there 
 are no good and Free direct editors and XML is a bit intimidating. We've 
 discussed a few alternatives but haven't been able to agree on any.

Interesting… GNOME has actually been actively moving from DocBook to
Mallard[1] since around 2010-2011. Mallard is also XML, but it was
created to be the ideal tool for task-oriented user help for software.
It was created by Shaun McCance, who was the GNOME docs team lead at
the time.

There were a number of reasons for the switch. It was partially done
as part of an effort to rewrite GNOME documentation under a CC-by-SA
3.0 license rather than the GFDL. The docs team thought that the
benefits to changing the license, namely being able to exchange
information relatively feely with Wikipedia (and other resources)
while reducing the licensing burden for reusing the docs elsewhere,
outweighed the workload. As you can imagine, relicensing is a
difficult and complex process, so with the UI changes taking place
around the GNOME 3 release, it was a perfect opportunity for the docs
team to write the help from scratch as updates would have pretty much
amounted to the same thing.

 Regards,
 John Ralls

[1] http://projectmallard.org/

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread John Ralls

On May 13, 2014, at 3:53 AM, Geert Janssens janssens-ge...@telenet.be wrote:

 On Monday 12 May 2014 14:47:13 John Ralls wrote:
 On May 8, 2014, at 1:40 PM, Geert Janssens janssens-ge...@telenet.be 
 wrote:
 You're welcome. I was too curious to let it pass and it was a good
 opportunity to learn something about git merge in the process.
 
 The only actual damage seems to have been in
 src/report/report-gnome/gnc-plugin-page-report.c; at least that is
 the only file with significant diffs in `git diff 9d40512..49a5909`,
 which shows the net change from your reverting the merge, remerging,
 and re-doing the C++ fixups. All of the changes from this year were
 reversed in the original merge commit, so I must have messed up when
 handling the last or next-to-last back-merge and blithely picked the
 branch version for every diff. git rerere remembered and did the same
 when I did the forward-merge.
 
 That's a reasonable explanation.
 
 So I’m going to revise my earlier worry about git being able to safely
 merge a long running commit: I’m not sure *I* can safely merge a
 long-running and complex branch in the face of dozens of conflicts. I
 guess that’s an argument for merging frequently to keep the conflicts
 under control.
 
 Agreed. Your kvp branch was from before the git era when it wasn't 
 possible to merge. We can now revise our strategy and merge master more 
 frequently in longer running topic branches to reduce the merge 
 complexity.
 
 It will be a matter of finding a good balance. It doesn't make sense 
 either to merge after each and every commit. That does indeed clutter up 
 the branch history and makes the history harder to read in tools such as 
 gitk.

Yeah, it would be silly to merge after every commit. One strategy might be to 
frequently merge from master and then revert the merge if there are no 
conflicts. ISTM that relying on rerere in the face of ongoing development on 
both branches risks replaying what was the right answer with last week's code 
but isn't with this week's, so if there are conflicts resolved in the merge it 
stays so that new code builds on the resolved result rather than continuing to 
diverge.

I think merges into master should happen for every module (e.g. gncguid, 
gncdate) so that conflicts coming into master are limited to a single subject. 
That should make it a bit easier for the person doing the merge to keep track 
of which way to resolve the conflicts.

That will still produce a ladder appearance in gitk and friends. I don't find 
that objectionable, but apparently some people do.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Mike Alexander
On May 13, 2014, at 11:47 AM, John Ralls jra...@ceridwen.us wrote:
 
 Yeah, it would be silly to merge after every commit. One strategy might be to 
 frequently merge from master and then revert the merge if there are no 
 conflicts. ISTM that relying on rerere in the face of ongoing development on 
 both branches risks replaying what was the right answer with last week's code 
 but isn't with this week's, so if there are conflicts resolved in the merge 
 it stays so that new code builds on the resolved result rather than 
 continuing to diverge.
 
 I think merges into master should happen for every module (e.g. gncguid, 
 gncdate) so that conflicts coming into master are limited to a single 
 subject. That should make it a bit easier for the person doing the merge to 
 keep track of which way to resolve the conflicts.
 
 That will still produce a ladder appearance in gitk and friends. I don't find 
 that objectionable, but apparently some people do.

I agree that merging master into topic branches frequently is a good idea.  I 
have a long running branch where I do all my real work and merge master into it 
often.  This seems to work well.  I've also created more short lived topic 
branches and used them like this.

In the other direction, I think that once a topic branch is merged to master it 
should be abandoned (unless it is used to fix bugs in the stuff that was just 
merged).  A new topic branch should be created for subsequent changes, even if 
they are related to the changes that were just merged (such as the same changes 
to a different part of the code).  I'm not sure if this is what you're 
suggesting or not, but it would seem to avoid a ladder appearance (if I know 
what you mean by that).

   Mike
 
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread John Ralls

On May 13, 2014, at 10:39 AM, Mike Alexander m...@umich.edu wrote:

 On May 13, 2014, at 11:47 AM, John Ralls jra...@ceridwen.us wrote:
 
 Yeah, it would be silly to merge after every commit. One strategy might be 
 to frequently merge from master and then revert the merge if there are no 
 conflicts. ISTM that relying on rerere in the face of ongoing development on 
 both branches risks replaying what was the right answer with last week's 
 code but isn't with this week's, so if there are conflicts resolved in the 
 merge it stays so that new code builds on the resolved result rather than 
 continuing to diverge.
 
 I think merges into master should happen for every module (e.g. gncguid, 
 gncdate) so that conflicts coming into master are limited to a single 
 subject. That should make it a bit easier for the person doing the merge to 
 keep track of which way to resolve the conflicts.
 
 That will still produce a ladder appearance in gitk and friends. I don't 
 find that objectionable, but apparently some people do.
 
 I agree that merging master into topic branches frequently is a good idea.  I 
 have a long running branch where I do all my real work and merge master into 
 it often.  This seems to work well.  I've also created more short lived topic 
 branches and used them like this.
 
 In the other direction, I think that once a topic branch is merged to master 
 it should be abandoned (unless it is used to fix bugs in the stuff that was 
 just merged).  A new topic branch should be created for subsequent changes, 
 even if they are related to the changes that were just merged (such as the 
 same changes to a different part of the code).  I'm not sure if this is what 
 you're suggesting or not, but it would seem to avoid a ladder appearance (if 
 I know what you mean by that).

It’s not. I see no reason to abandon a branch just because it’s merged into 
master, and if you really have a long-running branch where you do all of your 
work, neither do you. It won’t avoid the ladder look, either. There will just 
be a bunch of shortish branches instead of one long one.

The matter of abandoned branches reminds me that I haven’t yet cleared out all 
of the old branches that I merged into ‘archive’.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Colin Law
On 13 May 2014 18:39, Mike Alexander m...@umich.edu wrote:
 ...
 In the other direction, I think that once a topic branch is merged to master 
 it should be abandoned (unless it is used to fix bugs in the stuff that was 
 just merged).  A new topic branch should be created for subsequent changes, 
 even if they are related to the changes that were just merged (such as the 
 same changes to a different part of the code).  I'm not sure if this is what 
 you're suggesting or not, but it would seem to avoid a ladder appearance (if 
 I know what you mean by that).

Working with git in the past I have considered that topic branches
should be as short lived as possible.  A piece of work should be
broken into a number of self contained chunks and each one done on a
branch, merged back to trunk, and left.  The next chunk being started
on a new branch.  Of course this is not always possible as sometimes
major changes are required which must all be done before the s/w
reaches a new consistent state.  In that case merging will always be
tricky.

Colin

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Colin Law
On 13 May 2014 21:09, John Ralls jra...@ceridwen.us wrote:

 On May 13, 2014, at 10:39 AM, Mike Alexander m...@umich.edu wrote:

 On May 13, 2014, at 11:47 AM, John Ralls jra...@ceridwen.us wrote:

 Yeah, it would be silly to merge after every commit. One strategy might be 
 to frequently merge from master and then revert the merge if there are no 
 conflicts. ISTM that relying on rerere in the face of ongoing development 
 on both branches risks replaying what was the right answer with last week's 
 code but isn't with this week's, so if there are conflicts resolved in the 
 merge it stays so that new code builds on the resolved result rather than 
 continuing to diverge.

 I think merges into master should happen for every module (e.g. gncguid, 
 gncdate) so that conflicts coming into master are limited to a single 
 subject. That should make it a bit easier for the person doing the merge to 
 keep track of which way to resolve the conflicts.

 That will still produce a ladder appearance in gitk and friends. I don't 
 find that objectionable, but apparently some people do.

 I agree that merging master into topic branches frequently is a good idea.  
 I have a long running branch where I do all my real work and merge master 
 into it often.  This seems to work well.  I've also created more short lived 
 topic branches and used them like this.

 In the other direction, I think that once a topic branch is merged to master 
 it should be abandoned (unless it is used to fix bugs in the stuff that was 
 just merged).  A new topic branch should be created for subsequent changes, 
 even if they are related to the changes that were just merged (such as the 
 same changes to a different part of the code).  I'm not sure if this is what 
 you're suggesting or not, but it would seem to avoid a ladder appearance (if 
 I know what you mean by that).

 It’s not. I see no reason to abandon a branch just because it’s merged into 
 master, and if you really have a long-running branch where you do all of your 
 work, neither do you. It won’t avoid the ladder look, either. There will just 
 be a bunch of shortish branches instead of one long one.

If you want to work in that way I suggest having a look at git rebase.
 Rather than merging the branch into master this effectively moves the
base of the branch along to the current master and makes the tree look
much simpler.

Colin

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Building on Windows from scratch, enable-python and some install-impl.sh vs custom.sh suggestions

2014-05-13 Thread Wm Tarr

On 10/05/2014 10:36, Geert Janssens wrote:

On Friday 09 May 2014 16:51:06 Wm Tarr wrote:

I'm working my way through getting python enabled with Windows from
scratch.


Great ! Will you document your success ?


When it happens, definitely.   Made a lot of progress today, I can do an 
error free build with enable-python.  There is a lot of hackery to make 
sense of but these two issues came up that I'd like someone else to look at




1. there is a conflict between gcdev\gnucash\build\config.h and 
Python27\include\pyconfig.h

config.h expects pyconfig.h to have the line
#define HAVE_PUTENV 1
rather than
#define HAVE_PUTENV
I hacked pyconfig.h to include the 1 on a life's too short and I'm 
hacking principle.
Depending on what it is in other python's on other OSs it seems to me 
this is easy enough to get around, it is merely a matter of doing it the 
best way, i.e. adjust Python, adjust gnc or ignore the warning in the build.




2.  More seriously (and I think recently introduced) is a duplicate 
variable (I didn't make a note of the error msg) between

\gcdev\gnucash.git\src\engine\Transaction.c
and
\gcdev\gnucash.git\src\engine\test\utest-Transaction.c

I'm guessing this isn't specific to enable-python so much as the extra 
tests being run for the first time by anyone in the last week or so.


my hack was to change utest-Transaction.c

const char *trans_is_closing_str = book_closing;

to

static const char *trans_is_closing_str = book_closing;

which seemed to fix it.  I'll leave people closer to that bit of the 
code to decide what is best.



More generally the
checking for /c/Python27/python script directory... 
${prefix}\Lib\site-packages
checking for /c/Python27/python extension module directory... 
${exec_prefix}\Lib\site-packages

just aren't working out on Win.
I'll see how I feel tomorrow but the way I'm looking at it right now I 
think I'm going to sed the Makefile after configure in function 
inst_gnucash() because the results *really* are that ugly and MSYS 
(unlike cygwin) can't seem to sanitise the paths reliably and I've spent 
much too long on this unimportant issue.


It is late.  Apart from 1. and 2. it looks like tidying up is the next step.

It is late so I'll reply to the rest of the posting another day.

--
Wm

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Mike Alexander

--On May 13, 2014 9:17:58 PM +0100 Colin Law clan...@gmail.com wrote:


It’s not. I see no reason to abandon a branch just because it’s
merged into master, and if you really have a long-running branch
where you do all of your work, neither do you. It won’t avoid the
ladder look, either. There will just be a bunch of shortish branches
instead of one long one.


If you want to work in that way I suggest having a look at git rebase.
 Rather than merging the branch into master this effectively moves the
base of the branch along to the current master and makes the tree look
much simpler.


That's what I do.  I rebase my branches onto master each time it is 
updated.  This seems to work well and keeps the tree much simpler.


  Mike


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread John Ralls

On May 13, 2014, at 9:01 PM, Mike Alexander m...@umich.edu wrote:

 --On May 13, 2014 9:17:58 PM +0100 Colin Law clan...@gmail.com wrote:
 
 It’s not. I see no reason to abandon a branch just because it’s
 merged into master, and if you really have a long-running branch
 where you do all of your work, neither do you. It won’t avoid the
 ladder look, either. There will just be a bunch of shortish branches
 instead of one long one.
 
 If you want to work in that way I suggest having a look at git rebase.
 Rather than merging the branch into master this effectively moves the
 base of the branch along to the current master and makes the tree look
 much simpler.
 
 That's what I do.  I rebase my branches onto master each time it is updated.  
 This seems to work well and keeps the tree much simpler.

That's the SVN way. We discussed this back in March [1] and decided that we're 
not going to do that anymore. If you want to revisit that you need a better 
argument than that's the way I've always done it, considering that the Git 
community at large doesn't seem to consider it a best practice.

Regards,
John Ralls

[1] http://lists.gnucash.org/pipermail/gnucash-devel/2014-March/037289.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: private-kvp merge reverted other changes since November.

2014-05-13 Thread Mike Alexander
--On May 13, 2014 9:35:58 PM -0700 John Ralls jra...@ceridwen.us 
wrote:



That's the SVN way. We discussed this back in March [1] and decided
that we're not going to do that anymore. If you want to revisit that
you need a better argument than that's the way I've always done it,
considering that the Git community at large doesn't seem to consider
it a best practice.


So what has been wrong with my commits that you would like me to fix? 
Do you think absolutely everything should go on a branch and get merged 
into master or maint?  Or is it ok to put small changes directly on 
master or maint?


 Mike

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel