Re: Access to repository-side files in version control repositories

2012-09-03 Thread Michael Albinus
Randy Yates ya...@digitalsignallabs.com writes:

 Hi Michael,

Hi Randy,

 If you have opened a file under version control [...]

 But that's just it - you can't. At least I've not seen a way to open a
 file on a repository using emacs and the standard packages. Not
 directly.
 I know you meant a file in your working copy, but that sorta brings out
 my point - what if you don't have a working copy of the repo? What if
 you do but you don't want to have to visit a wc file first, then open
 the repository-side file? What if your wc file has nothing to do with
 the repository-side file you want to open?

Tramp does not handle repositories. All it can do is supporting vc.el,
which operates over working copies.

 Sure, I could check the file out into a wc, then visit the file, but
 that's like saying you could scp a file over, then edit it - who needs
 tramp?

 In other words, there are great advantages doing this using the standard
 visit-file mechanism of emacs, not the least of which is convenience,
 but in this case much more.

 Let me tell you where I'm going with this. If tramp provided the
 requested functionality, then this would greatly enrich ediff. I could
 directly ediff two files on a repository. In my work (and I think many
 others'), this would be EXTREMELY useful.

vc.el has great support in working over revisions. You can apply M-x
ediff-revision, which does exactly what you want. And Tramp lets you
apply this command also for remote working copies, if you're
interested in. Or you apply it for your local working copy, and vc.el
brings you the different revisions behind the scenes.

What do I miss?

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: Access to repository-side files in version control repositories

2012-09-03 Thread yary
Some version control GUI's come with a repository browser that lets
you list  look at everything that's ever been checked in. It sounds
like you're looking for that within Emacs, and it does seem like it
could be implemented by using Tramp's transparent remote file handling
and vc's transparent version control access. It also seems like a fair
amount of design (since a repository is more than a filesystem),
coding and testing!

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: Access to repository-side files in version control repositories

2012-09-03 Thread yary
On Mon, Sep 3, 2012 at 9:50 AM, Michael Albinus michael.albi...@gmx.de wrote:
...
 vc.el has great support in working over revisions. You can apply M-x
 ediff-revision, which does exactly what you want. And Tramp lets you
 apply this command also for remote working copies, if you're
 interested in. Or you apply it for your local working copy, and vc.el
 brings you the different revisions behind the scenes.

 What do I miss?

I think the suggestion is It would be good to run ediff ( anything
else) without even needing a working copy in any buffer. Just put in
the path to the repository, and the specific object in that
repository, and read it as if there was no local version- even if
there is a local working copy in $temp as part of the implementation.

It gets messy when the buffer is writable- one place where the design
becomes non-trivial...

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: Access to repository-side files in version control repositories

2012-09-03 Thread Michael Albinus
Randy Yates ya...@digitalsignallabs.com writes:

Hi Randy,

   a) Directly get an arbitrary repository file into a buffer using a
   standard syntax using the visit-file mechanism. That means that I
   may not even have a wc of the repo checked out at all. Note that I
   just want to see the file (search it, copy it, etc.) in this scenario,
   not run a diff on it.

   b) Diff arbitrary repository-side files WITHOUT HAVING TO FIRST EDIT
   ANY WC FILE (by specifying the repository, file, and version). In
   fact, I may want to diff two repository-side files that reside in
   different repositories!

 I see now vc.el provides some of this functionality, albeit not via a
 standard visit-file mechanism. (I misinterpreted that part of the ediff
 info page on this.) But I still think the ability to c-x f a
 repository-side file brings a good bit more flexibility/capability to
 emacs and its packages. 

Got it. Yes, this might be useful.

But I don't believe, that Tramp shall be the primary target of that
request. Different version control systems use different repository
formats. The logic, how to retrieve a file revision from a given
repository, belongs to the different vc backends.

vc shall be extended by a unique interface to retrieve a named revision
from a repository, and to compare different revisions, w/o having a
working copy. Implementation of that functionality is the duty of the
respective vc backends.

I'll be happy to support access to the remote repositories via
Tramp. But I bet, there's no need to extend Tramp for this. If I'm
wrong, we still could work on Tramp.

I recommend you to file an Emacs change request, via M-x report-emacs-bug.


Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Access to repository-side files in version control repositories

2012-09-02 Thread Randy Yates
It seems a natural extension of TRAMP would be to allow access to
repository-side files in the assorted version control systems (e.g., my
interest is subversion). Something like:

  /svn:mysvnrepository.url:/mysvnrepositorypath:revision:pegrevision

Is there something like this in TRAMP now? I haven't seen it.
-- 
Randy Yates
Digital Signal Labs
http://www.digitalsignallabs.com

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel