Re: [9fans] Acme and Git

2017-02-16 Thread Bakul Shah
You can use a cross platform file system event notification package like 
fsnotify/fsnotify or rjeczalik/notify, both on github. Instead of HEAD, may be 
just watch .git/index and when it changes, do git ls-files and see what 
changed. This will also catch local git add etc. though this probably doesn't 
matter.

> On Feb 16, 2017, at 5:05 AM, Paul Lalonde  wrote:
> 
> I'll give Watch and a bit of scripting a shot.  I couldn't find a git "HEAD 
> changed" hook to tie to, so Watch is pretty much the right thing.
> 
> Thanks!
> 
>> On Wed, Feb 15, 2017 at 9:04 PM Erik Quanstrom  wrote:
>> try writing the file?  
>> 
>> On Feb 15, 2017 5:05 AM, Paul Lalonde  wrote:
>> I know I'm not the only acme user who uses Git extensively :-)
>> Is there some way to tell if a file is changed on disk that is open in an 
>> editor window?  I frequently change branches and I often find myself editing 
>> stale versions.  I notice when comes time to Put, but that's a bit late.
>> 
>> Any tips to share? 
>> 
>> Paul
>> 


Re: [9fans] Acme and Git

2017-02-16 Thread Paul Lalonde
I'll give Watch and a bit of scripting a shot.  I couldn't find a git "HEAD
changed" hook to tie to, so Watch is pretty much the right thing.

Thanks!

On Wed, Feb 15, 2017 at 9:04 PM Erik Quanstrom 
wrote:

> try writing the file?  
>
> On Feb 15, 2017 5:05 AM, Paul Lalonde  wrote:
>
> I know I'm not the only acme user who uses Git extensively :-)
> Is there some way to tell if a file is changed on disk that is open in an
> editor window?  I frequently change branches and I often find myself
> editing stale versions.  I notice when comes time to Put, but that's a bit
> late.
>
> Any tips to share?
>
> Paul
>
>
>


Re: [9fans] Acme and Git

2017-02-15 Thread Erik Quanstrom
try writing the file?  On Feb 15, 2017 5:05 AM, Paul Lalonde  wrote:I know I'm not the only acme user who uses Git extensively :-)Is there some way to tell if a file is changed on disk that is open in an editor window?  I frequently change branches and I often find myself editing stale versions.  I notice when comes time to Put, but that's a bit late.Any tips to share? Paul



Re: [9fans] Acme and Git

2017-02-15 Thread Bakul Shah
go get 9fans.net/go/acme/Watch 

It watches the current dir and runs a given command if any file in this dir 
changes. Actually think of Watch more as inspiration!

You may be better off relying on git — watch .git/HEAD (changes when you switch 
branches) and watch what it is pointing to (changes when there is a commit or 
pull etc.), figure out what changed, which acme windows are relevant and update 
their body. There is still the issue of what to do if a file that changed has 
been edited. Or the file has been deleted or renamed. And there is a potential 
race — you may be editing a window when window body gets switched underneath! 
It may be better to print commands to do all this and leave it upto the user.

May be add a reload command that reads a window's tag and reload its body from 
the opened file.


> On Feb 15, 2017, at 11:32 AM, Paul Lalonde  wrote:
> 
> Do you have a pointer to Russ's Watch?  I quick dig shows I have poor 
> Google-fu.
> Paul
> 
> On Wed, Feb 15, 2017 at 12:23 PM Bakul Shah  > wrote:
> May be use Russ'es Watch command?
> 
> > On Feb 15, 2017, at 5:05 AM, Paul Lalonde  > > wrote:
> >
> > I know I'm not the only acme user who uses Git extensively :-)
> > Is there some way to tell if a file is changed on disk that is open in an 
> > editor window?  I frequently change branches and I often find myself 
> > editing stale versions.  I notice when comes time to Put, but that's a bit 
> > late.
> >
> > Any tips to share?
> >
> > Paul
> 
> 



Re: [9fans] Acme and Git

2017-02-15 Thread Micah Stetson
In plan9port, this script will re-load any clean window that differs from
an existing file with the same name:

```
#!/usr/local/plan9/bin/rc

cleanIDs = `{9p read acme/index | awk '$4 == 0 && $5 == 0 { print $1 }'}
for (id in $cleanIDs) {
nm = `{9p read acme/$id/tag | sed 's/ .*//'}
if (test -f $nm && ! cmp -s $nm <{9p read acme/$id/body}) {
echo get | 9p write acme/$id/ctl
}
}
```

If you make it deal gracefully with acme not running, you could probably
have git call it automatically whenever you check out a different revision.
Caveats: this does nothing for directory windows, doesn't help with files
that exist in one branch and not another, won't touch a dirty window, and
has been tested very little.

By the way, Russ's Watch is here:
https://github.com/rsc/rsc/tree/master/cmd/Watch

Micah


On Wed, Feb 15, 2017 at 12:32 PM, Paul Lalonde 
wrote:

> Do you have a pointer to Russ's Watch?  I quick dig shows I have poor
> Google-fu.
> Paul
>
> On Wed, Feb 15, 2017 at 12:23 PM Bakul Shah  wrote:
>
>> May be use Russ'es Watch command?
>>
>> > On Feb 15, 2017, at 5:05 AM, Paul Lalonde 
>> wrote:
>> >
>> > I know I'm not the only acme user who uses Git extensively :-)
>> > Is there some way to tell if a file is changed on disk that is open in
>> an editor window?  I frequently change branches and I often find myself
>> editing stale versions.  I notice when comes time to Put, but that's a bit
>> late.
>> >
>> > Any tips to share?
>> >
>> > Paul
>>
>>
>>


Re: [9fans] Acme and Git

2017-02-15 Thread Paul Lalonde
Do you have a pointer to Russ's Watch?  I quick dig shows I have poor
Google-fu.
Paul

On Wed, Feb 15, 2017 at 12:23 PM Bakul Shah  wrote:

> May be use Russ'es Watch command?
>
> > On Feb 15, 2017, at 5:05 AM, Paul Lalonde 
> wrote:
> >
> > I know I'm not the only acme user who uses Git extensively :-)
> > Is there some way to tell if a file is changed on disk that is open in
> an editor window?  I frequently change branches and I often find myself
> editing stale versions.  I notice when comes time to Put, but that's a bit
> late.
> >
> > Any tips to share?
> >
> > Paul
>
>
>


Re: [9fans] Acme and Git

2017-02-15 Thread Bakul Shah
May be use Russ'es Watch command? 

> On Feb 15, 2017, at 5:05 AM, Paul Lalonde  wrote:
> 
> I know I'm not the only acme user who uses Git extensively :-)
> Is there some way to tell if a file is changed on disk that is open in an 
> editor window?  I frequently change branches and I often find myself editing 
> stale versions.  I notice when comes time to Put, but that's a bit late.
> 
> Any tips to share? 
> 
> Paul




Re: [9fans] Acme and Git

2017-02-15 Thread Sigrid Haflinadóttir
"X e" works just as well for me.

On Wed, Feb 15, 2017 at 3:34 PM, Steve Simon  wrote:

> Hi,
>
> I am a sam user who uses subversion (via a substandard OS).
>
> when I do an update I always do 'X/./e' to re-read all files - bit of a
> sledgehammer
> but at least it stops me getting quite so angry at svn.
>
> -Steve
>
>


Re: [9fans] Acme and Git

2017-02-15 Thread Steve Simon
Hi,

I am a sam user who uses subversion (via a substandard OS).

when I do an update I always do 'X/./e' to re-read all files - bit of a 
sledgehammer
but at least it stops me getting quite so angry at svn.

-Steve