[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Git never commits, Magit never pushes

From: Jambunathan K
Subject: Re: Git never commits, Magit never pushes
Date: Tue, 05 Apr 2011 21:46:18 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (windows-nt)

>> Now "x" on a vc-dir would hide update and unregistered files. (It will
>> only show added/modified files)
>> "C-x C-v =" on a version controlled buffer would launch ediff window.
> You meant "C-x v =", I guess.

Yes. C-x v =.

>> I have been using this setup for a while so I know it works. If something is
>> broken it is possible that I haven't copy/pasted some stuff from my init
>> file.
>> [...]
> My test on an "edited" file:
> VC backend : Git
> Working dir: c:/home/sva/src/
> Branch     : master
> Remote     : git-VglghZ3J0L77m/address@hidden:src/src.git
> Stash      : Nothing stashed
>                          ./
>                          org/
>      edited              org/
> gives the following error:
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   expand-file-name(nil)
>   find-file-noselect(nil nil nil nil)
>   find-file(nil)
>   my-ediff-revision(nil "HEAD" "")
>   (lambda nil (interactive) (my-ediff-revision (buffer-file-name) 
> (read-string "revision? " "HEAD" nil "HEAD") ""))()
>   call-interactively((lambda nil (interactive) (my-ediff-revision 
> (buffer-file-name) (read-string "revision? " "HEAD" nil "HEAD") "")))
>   my-vc-diff(nil)
>   call-interactively(my-vc-diff nil nil)

Looks like you are doing `C-x v =' from vc-dir buffer. That's why it is
unable to identify a filename. Use the above command from within
`' buffer - the buffer that is modified.

>>> I did not find yet, though, how to push it to the Git repo.
>> C-x v v commits to the local branch. I generally push to the remote repo
>> from the shell.
> BTW, does using the "vc" backend for Git allow you as well to use exactly the
> same key bindings for other backends (SVN, CVS)?

That's correct. Over the course of years I have used essentially the
same interface/keybinding with cvs, svn, perforce, mercurial, clearcase
and now git. This way I don't have to ever remember the backend specific
commands for committing etc etc.

And it is always a good idea to use packages that come with regular
emacs. I have found vc-git.el satisfactory for my needs.

Btw if you customize `vc-command-messages' to t then you can see what
backend command vc is issuing. This is good way to explore the backend.

> Best regards,
>   Seb


reply via email to

[Prev in Thread] Current Thread [Next in Thread]