Stephen Leake <[EMAIL PROTECTED]> writes:

> Richard Riley <[EMAIL PROTECTED]> writes:
>
>> With regard to implementing branching for DVC and Git (branching being
>> core to most VCS I think, I guess something like
>>
>> http://gds.gsfc.nasa.gov/dvc-intro.html#Status-Display
>>
>> will be possible for the status?
>
> I'm not clear how you think that applies; that section talks about the
> display for dvc-status.

And a dvc-status should report the current branch details. I can only
come from the git view and the legacy (well, my history :-;) view of
what a branch is. mtn I know nothing about.

>
> Can you give an example of "branching" and what describe what the
> display should be?

Googling "git branching" give a lot of hits.

http://www-cs-students.stanford.edu/~blynn/gitmagic/ch04.html

"Instant branching and merging are the most lethal of Git's killer
features."

It is an important feature.

>
> For me, the sections "merging" and "propagating" in that document are
> more relevant for "branching".
>
> Note that each back-end has slightly different notions of what a
> "branch" is.

Yes, and this does make problems documenting "generically" for users of
different VC backends. I certainly had trouble with the current
documentation and its the reason I am trying to write a tutorial for
DVC for the GIT user.

>
> In mtn, a "branch" is a named thread of revisions. But each branch can
> have multiple heads, created when multiple developers commit changes to the
> same branch. Then you need to "merge" to get back the one-head state.

I don't see how this is so different from traditional and git views of
branches.

>
> On the other hand, "propagating" is merging from one branch to
> another. So you have a main branch, and each developer has a work
> branch. As each developer finishes some portion of work, it is
> propagated to main. Each developer must also propagate from main to
> their work branch periodically.

Yes, but you need the branch first. And there is/was no UI for managing
branches. Stefan has implemented two new functions which are a big step
forward.

>
> I don't see the need for a UI for this; a text file showing the
> purpose of each branch is sufficient, and the one-line status in the
> dvc-status buffer that says "branch is merged" or "branch is not
> merged" is sufficient.

I have to disagree. It would be nice to see available branches and
select on the fly from the UI. I'm not sure what you mean by a text file
here. Do you mean emacs buffer? In which case maybe we are agreeing. I
am only looking for a text based interface inside Emacs. The status
should show the branch name and the parent at the very least. Another
UI/buffer should list all branches and allow hot key selection of a
certain branch. Try magit. Look at how it handles branches and staging.

>
> Hmm. It might be nice to have a brief log showing only the propagate
>operations; that would make it easier to know what propagate needs to
>be done next. But that's just a small variation on dvc-log.
>
> There is a UI for conflict resolution, but that is specific to mtn;
> most other back-ends don't have the same notion of "conflict".

regards

Richard.

_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to