[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Switching branches and TAB
From: |
Ludwig, Mark |
Subject: |
RE: Switching branches and TAB |
Date: |
Thu, 30 May 2013 22:59:48 +0000 |
> From: Barry OReilly, Thursday, May 30, 2013 2:48 PM
>
> > I am using ClearCase as a source control and emacs for eshell. If I pick
> a view
> > (similar to changing branches) before launching emacs&, when I am typing
> a file
> > path in eshell, i can press tab to finish the path name for folders and
> files.
> > However, if i launch emacs& and then set the view, the ability to press
> tab to
> > finsih the path name does not work for some files. This also occurs when
> > setting to a different view in eshell.
> >
> > So whenever I would want to change views, I could start up a new emacs&
> to
> > avoid this problem. Is there someway around doing this?
>
> I'm also in the unfortunate position of using that atrocity of a VCS.
>
> When you set dynamic view, a new csh-like shell is started. If you started
> Emacs before that, it forked from the parent shell so has no visibility of
> the new shell. You could run xterm&, set view, switch to the new xterm and
> find you won't see your view's files for the same reason.
>
> I wouldn't expect any issue in snapshot views.
I also use ClearCase, frequently have several dynamic views open
concurrently, and may have an instance of Emacs for each. In my case,
this feels natural, because I have a complete context in the view, so
it feels natural to have a unique instance of Emacs in that view too.
For example, I frequently run hours-long builds ("compiles")
concurrently in these instances of Emacs. One instance couldn't do
that (only one "*compilation*" buffer without more customization than
I feel would be good to do, not to mention losing everything if that one
Emacs were to crash).
It probably helps that the way we refer to files involves
environmental variables (one per "module" of this large software
system), each of which having a definition starting with /vobs/....
Sure, I can use /view/foo/vobs/... when I need to work across views,
but I rarely need to do that. In a real sense, each view represents a
"project" I'm working on.
At the moment, I have 18 views active (each in its own xterm) with 12
instances of Emacs running (not running Emacs in 6 views).
[[ I find ClearCase more powerful than most other source code
management systems. This could be because of the customization we
have that manages queues of sets of changes -- dozens of queues,
one for each of the multiple releases of the products and each of
the customer-specific maintenance versions that we concurrently
maintain.
It uses a hierarchy among all of these with a good deal of
automation around merging. The semi-automated merging makes sets
of changes flow among the queues, making it easy for the engineers
to remember to propagate changes in the "forward" direction among
releases until hitting the end. Along with the formalized review
process before leaving a queue, this helps ensure that
customer-specific maintenance gets generalized and incorporated
into the "latest and greatest" version of the product.
Each of my personal views has an associated branch where I do my
project work, and for our concurrent development on half a dozen
platforms, I use up to half a dozen different views per branch for
each platform's build of that branch (if there is platform-specific
stuff I need to worry about, or if I want some particular
compiler's scrutiny such as using GCC on Linux for its ability to
warn when printf-style format strings aren't matched with the data
arguments). ]]
Cheers,
Mark