Matthieu Moy <[EMAIL PROTECTED]> writes:

> Stephen Leake <[EMAIL PROTECTED]> writes:
>
>> Ah. So the current xgit-dvc-log-edit-done code could be changed to
>> something like:
>>
>>     (if files-to-commit
>>         (dvc-run-dvc-sync
>>          'xgit (append (list "commit" "-a"
>>                          "-F" (dvc-log-edit-file-name)
>>                          "--") files-to-commit))
>>     ;; commit all files
>>     (dvc-run-dvc-sync
>>      'xgit (list "commit" "-a" "-F" (dvc-log-edit-file-name))))
>>
>>
>> Then xgit would be similar to bzr with respect to cleaning up the
>> status and diff buffers after a commit.
>
> I think we need to have these two ways to commit in DVC, but I also
> don't think this is sufficient: it doesn't allow one to use the
> git-add/git-commit (without -a) flow, 

Ok, so there needs to be a third branch (a 'cond' instead of 'if').

And a way for the DVC user interface to select that third branch.

> which is a very conveinient way to deal with partial commits.

I can see that would be convenient if I'm only using the command line.

But if you are using DVC, surely marked files in the ewoc are even
more convenient? 

>> But using xgit-add, instead of some other/new DVC front-end function,
>> means the DVC user interface will not show the list of files to
>> commit. That's a serious problem.
>
> The status buffer should show them.

I agree that it _should_. I'm trying to understand how to make that
happen. 

> For example, here's what the command-line gives you:
>
> <snip>

Ok. 

How should this information be displayed in DVC?

And if the user calls xgit-add after dvc-status, how should the
display be updated?

> This "staging area", called index for git and AAUI workspace manifest
> for monotone. 

There is a difference; you don't need "mtn add" for modified files;
"mtn commit" will commit modified files on its own, even if not
specified on the command line. You only need "mtn add" for unknown
files.

> I don't want DVC to totally hide this features when it exists, and I
> don't want to bother bzr, hg or darcs users with it. It's not just a
> feature like the others, it really changes the flow, the way you
> type commands. You CANNOT hide it from the user without lack of
> feature.

If I want to do a partial commit in DVC, I do dvc-status, start a log
edit ('c'), mark files ('m'), accumulate comments in the log edit
buffer, then from the log edit buffer do 'C-c C-c'.

How would that change for the xgit add/xgit commit flow?

> You have nothing to undo the effect of "git add", and you can't have
> it without a totally bloated storage format.

Ok, so attempting to keep the git index and ewoc marked files in sync
won't work.

So what is the proposal for the DVC user interface for git partial
commits, using the git-add/git-commit flow?

-- 
-- Stephe

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

Reply via email to