[darcs-devel] adding feature: patch origins

Ganesh Sittampalam ganesh at earth.li
Fri Feb 15 13:35:49 UTC 2013


Hi Sebastian,

Thanks for the clear summary of the situation. Once you've tried out
posthooks we can discuss what more is needed.

I'd just add that in my opinion "branch history" should subsume
"repository history", albeit that implementation is harder as you outline.

Cheers,

Ganesh

On 15/02/2013 12:19, Sebastian Fischer wrote:
> Dear all,
> 
> thank you for the fruitful discussion. I will attempt a summary of this
> discussion so far and of decisions we just made in a meeting with factis
> research developers.
> 
> After my initial proposal to track maintainers for push, pull, and
> apply, Stefan proposed a more general history feature that also supports
> commands that remove patches.
> 
> At the moment, factis does not need the ability to use the history to
> undo commands. An informational history is sufficient and a history that
> supports undo probably has to record significantly more information. We
> want to avoid that - at least initially.
> 
> Regarding maintainer information for remote operations: using different
> remote accounts sounds reasonable to avoid conditional passing of
> command line flags depending on the remote darcs version.
> 
> Ganesh pointed out two different levels of history that both seem
> useful: the originally proposed "repository history" that is specific to
> each working directory and a "branch history" that is shared among
> clones of the same (conceptual) branch. Repository history is easy to
> implement (for example by storing it in a file - say .darcs_history - in
> the repository). For branch history, we need to think through how
> history information is propagated and if it should be merged from
> different clones or just recorded in a single repository. Ganesh
> proposed to record it in a single repository which would allow to query
> it using ssh from everywhere. If branch history should be merged from
> clones we need to think through how to do this. One option is to put the
> .darcs_history file under version control, although doing it naively
> seems a bit awkward (because, e.g., recording changes in the history
> file will change the history file..)
> 
> Ganesh proposed to use post-hooks to implement repository history. I
> will implement a prototype that writes a file .darcs_history using
> post-hooks. We can then discuss whether this solution is already
> sufficient or if we want to continue with integrating history into darcs
> itself.
> 
> Using tags to store history seems, at the moment, too intrusive (for
> example, patches under a tag cannot be removed without removing the
> tag). The idea to store tags "off to one side" instead of as patches in
> the repository sounds useful independent of history tracking as it would
> be nice to see info about tags and manage their patches without having
> to include them in a repository.
> 
> Finally, I try to answer some questions posed
> at: http://darcs.net/Development/NewFeature
> 
> 
> What problem does the proposed feature solve?
> 
> The history feature tracks information about who added or removed
> patches to a repository. This is useful to answer questions like: "Since
> yesterday the system is broken. Who has applied patches since then?"
> 
> 
> Who are the stakeholders? Who is going to benefit/be affected by this
> feature: end-users, repo farms like patch-tag, darcs developers?
> 
> End users, among them factis research.
> 
> 
> Who are the users? New users? Repository maintainers? Patch authors?
> 
> Repository maintainers.
> 
> 
> What are the user scenarios? Does this change any pre-existing
> workflows? Does this introduce any incompatibilities? How do we preserve
> the conceptual integrity of Darcs? Is the UI for this feature really
> Darcs-ish? What are the possible unintended interactions with other
> pre-existing features?
> 
> The can all be better answered when the prototype implementation is
> done. I don't expect any unintended interactions when using existing
> functionality (post-hooks).
> 
> 
> What are the alternative approaches to solving the same problem? Why do
> we prefer this one?
> 
> An alternative to using post-hooks is to integrate history tracking into
> darcs. Initially, we prefer to use post-hooks because of simplicity of
> implementation. Later, a deeper integration might be desirable for a
> better UI.
> 
> 
> Best regards,
> Sebastian
> 
> 
> _______________________________________________
> darcs-devel mailing list
> darcs-devel at darcs.net
> http://lists.osuosl.org/mailman/listinfo/darcs-devel
> 



More information about the darcs-devel mailing list