That's awesome! Thanks.

On Mar 22, 2007, at 1:14 PM, P T Withington wrote:

I'm going to try to make a version of the svn tools that uses this mechanism and send it around for people to try. I should be able to do it without changing the current mechanism, so we can incrementally try it out.

On 2007-03-21, at 14:27 EDT, Jim Grandy wrote:

Of course, an alternative to all of this would be to just adopt a one-changeset-per-source-tree philosophy. So rather than having all this machinery to track change subsets, we just associate a change description with a whole local copy source tree, and always check every change in.

Advantages:

- no need to run 'svn status' in svn-newchange
- neatly avoids the issue that 'tar' & co. don't completely capture a Subversion change set (added files, deletes, propset, etc.)
- less bash code to maintain

Disadvantage:

- you have to make more copies of source trees in the filesystem

I've been more-or-less doing this for a few months now, and it's pretty nice. I keep about three copies of the development tree on my computer, and round-robin through them. One tree usually has changes out for review, another has in-process changes, and a third is used to review other people's change proposals.

Thoughts? Now that we have almost a year's worth of experience with Subversion, do we really need to map in the perforce concept of changesets anymore?

jim

On Mar 21, 2007, at 10:49 AM, Sarah Allen wrote:

oh, then updatechange would be a very nice addtion :)


On Wed, Mar 21, 2007 at 10:40 AM, P T Withington wrote:

Well, I was thinking updatechange would keep your comments and just refresh the file list.

On 2007-03-21, at 12:55 EDT, Sarah Allen wrote:

if I'm reading this correctly, svn-update-change would be the same as calling svn-discard-change then svn-newchange, if so I would vote for fewer options where I can understand what each one does. Also, can you please be consistent about the use of dashes (svn- discardchange, rather than svn-discard-change)

Thanks,
Sarah

On Wed, Mar 21, 2007 at  9:36 AM, P T Withington wrote:

svn-newchange just creates a template and append svn status to it (so, all the files that are modified below the current directory).

svn-edit calls svn-newchange if no change is already in progress.

Once a change is in progress, the change text (and files listed in it) drive the rest of the process.

So, rather than editing an existing change, if you modify more files, you could just do svn-newchange to start over.

Which do you think is better: to add svn-update-change or svn- discard-change, or both?

Also note svn-pending, which lists all the changes you have started and not checked in. You can use any of those names as an argument to the svn-* commands, so you can have multiple changes at once if you like.

On 2007-03-21, at 09:47 EDT, Sarah Allen wrote:

I did read your previous edits to the README, which look good overall, although I'm still unclear what svn-newchange does.... it seems to pick up files I've modified which aren't included in the current changeset.... where is all this magic happening? is it keeping a list somewhere?


On Wed, Mar 21, 2007 at  5:23 AM, P T Withington wrote:

On 2007-03-21, at 01:22 EDT, Sarah Allen wrote:


On Sun, Mar 18, 2007 at  8:26 PM, P T Withington wrote:

4) svn-newchange

Not necessary if you don't have any changes yet, as 5 will make a new change if you don't specify one.

It may be worth mentioning in the README that this step takes many minutes on Windows when executed from $LPS_HOME. (or is it just me?)

It does, but after that, your change is driven by the change file, so it never has to look at your whole filesystem again.

Something that may not be obvious: Once you say new change, it gets the modified files at that point. If you modify more files later, you will have to manually add them to the changeset (or discard your change and start over). After new change, the whole process is driven by the list of files in the change description.

How do you manually add a file to the changeset or discard changes and start over?

What I do:

svn status

and copy the output

svn-edit

and paste the copy over the list of files that were in the change.

Clearly this needs improvement. Probably we should provide svn- update-change or something.

It takes it from your shell $EDITOR variable. This is part of the revised doc I would like to check in...

I tried
%export EDITOR=vim

no luck :(

You need to ask another windows weenie how they do it.

I updated the README (and tools), with all the previous discussion. If you update, perhaps you could review my changes to the README? I'll add these notes today.





Reply via email to