Not sure how this is happening yet, but I suspect that BeOrg is involved. I tend to put my .org files into CVS. Lately, I've been noticing that CVS sometimes reports the only change is the position of the Tags on the Header line. For awhile, I assumed that it was something in the settings of Orgmode in Emacs, but I couldn't find anything. In theory, Orgmode should always be positioning the tags such that they end at a certain column (haven't found the variable yet), so, if I don't change the tags, there should be no change for CVS to pick up. This last time, I noticed that a file that I Rsynced over from my BeOrg Dropbox area had changed the position of the tags. I think it was the only file that I had looked at in BeOrg Files -- I don't think I had changed anything. A diff on the file with my backup showed the only difference was the position of the tags on the header lines. Looking at it even further, it appears that not every header line with tags was affected (perhaps the ones that were affected were the ones that were unfolded?) and that those that were affected had extra space added.
As I said, this is a little strange and I'm making some guesses that maybe you'll spot something from the inside.
Yeah, just figured out a test case -- that's what's happening. Your algorithm for writing the tags back to the file is putting them into a different location than Emacs puts them in. That happens even if you just look at the file. That's causing it to be a constant change to CVS.
I'll take a look to see why beorg is updating the file even if no changes have been made.
Both Org mode and beorg use the variable org-tags-column to determine how to align the tags. Try making sure this is the same in both your Org mode configuration and in beorg - let me know if beorg still isn't doing the right thing.
I've encountered this issue, and I think it is because I use "clean view" in emacs, which causes nested headlines of level N to be intended by 2N (+ constant) places instead of just N (+ constant) places. So I can make the tags line up properly for any one chosen level of indentation, but then all other levels are off in proportion to level of intending. Potentially a lisp variable could indicate whether one wants tag positions to be calculated assuming default view vs clean view?
I shall look at improving the tag output in a future version based on org-indent-mode minor mode being turned on. Thanks for mentioning this!
Could it be that Org is lining the tags up on the last character of the list of tags whereas BeOrg is lining them up on the first character?
beorg should do the same as Emacs (although not necessarily in clean view). If you think it isn't please send Emacs config snippet and the beorg init.org snippet.