unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
@ 2017-04-02 21:46 Wojciech Siewierski
  2017-04-10  2:30 ` Dmitry Gutov
  0 siblings, 1 reply; 6+ messages in thread
From: Wojciech Siewierski @ 2017-04-02 21:46 UTC (permalink / raw)
  To: 26345


[-- Attachment #1.1: Type: text/plain, Size: 31137 bytes --]


It seems some vc-git operations override `default-directory' with the
parent directory of the files they operate on. It's a problem if they no
longer exist like in the following scenario.

Preparation steps in shell:

$ git init
$ mkdir olddir/
$ echo oldcontent > olddir/file.txt
$ git add olddir/
$ git commit -m 'Initial commit'
$ echo newcontent > olddir/file.txt
$ git add olddir/
$ git commit -m 'Modify the file'
$ git mv olddir/ newdir/
$ git commit -m 'Move the file'

Reproduction:

1. Open newdir/file.txt in Emacs.
2. Press `C-x v g' to open `vc-annotate'.
3. Press `j' to jump to the revision from before the file was moved.
4. Try to move to the next (newer) revision with `n'. The error appears
here.

> apply: Setting current directory: No such file or directory,
.../testrepo/olddir/

It seems in this scenario `vc-annotate' also has trouble with the
regular navigation (`n' and `p') without the usage of `j' but the error
message is not as clear.



In GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.31)
 of 2017-01-08 built on localhost
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:    Ubuntu 16.04.2 LTS

Configured using:
 'configure --disable-dependency-tracking
 --prefix=/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1
 --with-modules --with-x-toolkit=gtk2 --with-xft'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS NOTIFY LIBSELINUX GNUTLS
LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11 MODULES

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  TeX-PDF-mode: t
  magit-auto-revert-mode: t
  ido-vertical-mode: t
  flx-ido-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  projectile-mode: t
  global-diff-hl-mode: t
  hl-line-mode: t
  global-company-mode: t
  company-mode: t
  org-bullets-mode: t
  recentf-mode: t
  bbyac-global-mode: t
  bbyac-mode: t
  beacon-mode: t
  volatile-highlights-mode: t
  global-git-commit-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  show-paren-mode: t
  minibuffer-depth-indicate-mode: t
  electric-pair-mode: t
  global-subword-mode: t
  subword-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  async-bytecomp-package-mode: t
  ivy-mode: t
  override-global-mode: t
  winner-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Type C-x 1 to delete the help window, C-M-v to scroll help.
Quit

When done with this frame, type C-x 5 0
Quit
When done with this frame, type C-x 5 0
Quit [3 times]
Type C-x 1 to delete the help window, C-M-v to scroll help.
Mark set
C-x C-g is undefined
Quit

Load-path shadows:
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/scala-mode-20170323.502/ob-scala
hides
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-scala
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-texinfo
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-texinfo
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-publish
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-publish
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-org
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-org
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-odt
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-odt
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-md
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-md
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-man
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-man
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-latex
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-latex
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-icalendar
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-icalendar
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-html
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-html
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-beamer
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-beamer
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ox-ascii
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ox-ascii
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-w3m
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-w3m
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-version
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-version
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-timer
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-timer
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-table
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-table
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-src
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-src
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-rmail
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-rmail
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-protocol
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-protocol
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-plot
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-plot
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-pcomplete
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-pcomplete
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-mouse
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-mouse
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-mobile
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-mobile
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-mhe
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-mhe
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-macs
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-macs
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-macro
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-macro
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-loaddefs
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-loaddefs
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-list
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-list
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-irc
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-irc
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-install
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-install
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-inlinetask
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-inlinetask
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-info
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-info
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-indent
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-indent
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-id
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-id
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-habit
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-habit
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-gnus
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-gnus
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-footnote
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-footnote
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-feed
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-feed
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-faces
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-faces
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-eshell
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-eshell
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-entities
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-entities
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-element
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-element
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-docview
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-docview
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-datetree
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-datetree
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-ctags
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-ctags
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-crypt
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-crypt
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-compat
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-compat
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-colview
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-colview
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-clock
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-clock
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-capture
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-capture
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-bibtex
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-bibtex
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-bbdb
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-bbdb
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-attach
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-attach
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-archive
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-archive
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/org-agenda
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/org-agenda
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-tangle
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-tangle
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-table
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-table
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-sqlite
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-sqlite
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-sql
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-sql
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-shen
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-shen
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-screen
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-screen
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-scheme
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-scheme
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/scala-mode-20170323.502/ob-scala
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-scala
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-sass
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-sass
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-ruby
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-ruby
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-ref
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-ref
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-python
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-python
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-plantuml
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-plantuml
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-picolisp
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-picolisp
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-perl
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-perl
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-org
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-org
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-octave
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-octave
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-ocaml
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-ocaml
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-mscgen
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-mscgen
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-maxima
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-maxima
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-matlab
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-matlab
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-makefile
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-makefile
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-lob
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-lob
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-lisp
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-lisp
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-lilypond
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-lilypond
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-ledger
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-ledger
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-latex
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-latex
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-keys
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-keys
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-js
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-js
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-java
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-java
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-io
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-io
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-haskell
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-haskell
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-gnuplot
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-gnuplot
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-fortran
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-fortran
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-exp
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-exp
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-eval
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-eval
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-emacs-lisp
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-emacs-lisp
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-dot
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-dot
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-ditaa
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-ditaa
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-css
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-css
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-core
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-core
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-comint
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-comint
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-clojure
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-clojure
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-calc
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-calc
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-awk
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-awk
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-asymptote
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-asymptote
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-R
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-R
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/org-20170210/ob-C
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/org/ob-C
/home/vifon/projects/configs/emacs-config/emacs.d/.cask/25.1/elpa/seq-2.19/seq
hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/emacs-lisp/seq
~/.emacs.d/skeletons/generic hides
/nix/store/89cab82wdiyii22cxmf50f88vc1wj3y0-emacs-25.1/share/emacs/25.1/lisp/emacs-lisp/generic

Features:
(shadow mail-extr emacsbug sendmail pulse debug eieio-opt speedbar
sb-image ezimage dframe vc-annotate helm-projectile helm-files
image-dired helm-tags helm-bookmark helm-adaptive helm-info
helm-external helm-net helm-buffers helm-grep helm-regexp helm-elscreen
helm-utils helm-locate helm-types c-c++-header breadcrumb find-file
expand-region cperl-mode-expansions text-mode-expansions
cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions
latex-mode-expansions er-basic-expansions expand-region-core
expand-region-custom cl-indent wdired slime hyperspec browse-url sort
iedit iedit-lib dired-aux rst vim-line-open tramp-cache ispell tabify
cal-move parse-time epa-file epa org-datetree org-capture haskell-doc
inf-haskell haskell-decl-scan geiser-mode geiser-xref geiser-compile
geiser-debug geiser-chibi geiser-mit geiser-chez geiser-chicken
geiser-racket geiser-guile info-look geiser geiser-repl geiser-image
geiser-company geiser-doc geiser-menu geiser-edit geiser-completion
geiser-autodoc geiser-eval geiser-connection tq geiser-syntax geiser-log
geiser-popup view geiser-impl geiser-custom geiser-base scheme
dired-subtree dired-hacks-utils network-stream nsm starttls warnings
git-rebase texmathp preview prv-emacs tex-buf indent-guide font-latex
latex tex-ispell tex-style tex dbus tex-mode latexenc wgrep-ag wgrep ag
vc-svn find-dired magit-obsolete magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-branch magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log magit-diff smerge-mode magit-core
magit-autorevert autorevert filenotify magit-process magit-margin
magit-mode magit-git crm magit-section magit-popup misearch
multi-isearch smex ido-vertical-mode flx-ido ido vc-git org-table
org-agenda company-rtags colir color counsel esh-util swiper org-clock
ansible yasnippet rtags repeat bookmark projectile diff-hl vc-dir vc
vc-dispatcher hl-line haskell haskell-completions haskell-load
haskell-commands highlight-uses-mode haskell-modules haskell-sandbox
haskell-repl haskell-debug haskell-interactive-mode
haskell-presentation-mode haskell-collapse haskell-navigate-imports
haskell-compile haskell-process haskell-session haskell-hoogle
haskell-mode haskell-cabal haskell-utils haskell-font-lock
haskell-indentation haskell-string haskell-sort-imports haskell-lexeme
haskell-align-imports haskell-compat haskell-complete-module
haskell-ghc-support dabbrev haskell-customize macrostep-c cmacexp
macrostep sh-script smie executable company-files company-oddmuse
company-clang company-dabbrev-code company-dabbrev company-keywords
company-etags company-gtags company-capf company-cmake company-xcode
company-semantic company-eclim company-template company-css company-nxml
company-bbdb company-tern dash-functional tern url-http tls gnutls
url-auth company flycheck jedi auto-complete jedi-core
python-environment epc ctable concurrent deferred python perltidy
cperl-lineup cperl-mode paredit yafolding org-bullets disp-table
org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view subr-x
jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m my-secret
zenburn-theme recentf-merge recentf tree-widget wid-edit avy bbyac
browse-kill-ring derived ecomplete racer rust-mode ggtags phi-search
phi-search-core multiple-cursors mc-hide-unmatched-lines-mode
mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more
mc-cycle-cursors mc-edit-lines multiple-cursors-core rect beacon etags
xref project volatile-highlights highlight-symbol goto-last-change p4
ps-print ps-def lpr stgit ewoc git-commit with-editor tramp-sh server
magit-utils log-edit message rfc822 mml mml-sec epg mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log legalese finder
diary-lib diary-loaddefs undo-tree diff dired-x pastes-from-web
my-scratch my-global-settings cualess-global-mark avoid paren mb-depth
elec-pair cap-words superword subword my-registers my-fixes
disable-suspend fuck-you-slime lineup my-eshell my-org steam xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap org-crypt ob-scala ensime ensime-mode
ensime-sbt sbt-mode sbt-mode-rgrep grep sbt-mode-comint sbt-mode-buffer
sbt-mode-project sbt-mode-vars ensime-http ensime-ui
ensime-semantic-highlight ensime-doc ensime-search ensime-undo
ensime-startup ensime-refactor diff-mode ensime-popup ensime-notes
ensime-model ensime-inspector imenu ensime-goto-testfile ensime-editor
popup ensime-debug gdb-mi bindat gud ensime-stacktrace ensime-inf
ensime-overlay ensime-completion-util ensime-config ensime-util
ensime-client ensime-vars url-gw scala-mode scala-mode-prettify-symbols
scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent
scala-mode-paragraph scala-mode-syntax scala-mode-lib pp hideshow
flymake arc-mode archive-mode ensime-macros cl ob-java ob-perl ob-python
ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs ob-haskell ob-sqlite ob-octave ob-gnuplot
ob-dot ob-plantuml ob-ditaa ob-makefile ob-sed ob-awk ob-shell
org-protocol org-element avl-tree org org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint tramp tramp-compat tramp-loaddefs trampver
shell pcomplete ob-core ob-eval org-compat org-macs org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs my-ibuffer
ibuffer-vc ibuf-ext ibuffer my-helm helm-help helm helm-source
eieio-compat helm-multi-match helm-lib dired helm-config helm-easymenu
async-bytecomp async my-ivy ivy-hydra ivy flx delsel ivy-overlay ffap
thingatpt url-parse auth-source eieio gnus-util time-date password-cache
url-vars my-god-mode god-mode my-keys windmove my-fun my-mode-line
my-skeletons skeletor compile comint ansi-color rx let-alist autoinsert
skeleton my-hooks hydra lv key-chord use-package diminish bind-key
easy-mmode tex-site eieio-core advice slime-autoloads info edmacro
kmacro cask cl-seq cl-macs cask-bootstrap package-build mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr json map lisp-mnt shut-up epl git commander
f dash s ucs-normalize finder-inf package epg-config seq byte-opt gv
bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib my-compat winner ring cus-start cus-load mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 1451135 142112)
 (symbols 48 82760 0)
 (miscs 40 9828 3493)
 (strings 32 438521 140156)
 (string-bytes 1 8714254)
 (vectors 16 159814)
 (vector-slots 8 3567015 52260)
 (floats 8 3169 4363)
 (intervals 56 44066 417)
 (buffers 976 192))



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
  2017-04-02 21:46 bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved Wojciech Siewierski
@ 2017-04-10  2:30 ` Dmitry Gutov
  2017-04-10 15:06   ` Wojciech Siewierski
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Gutov @ 2017-04-10  2:30 UTC (permalink / raw)
  To: Wojciech Siewierski, 26345

On 03.04.2017 00:46, Wojciech Siewierski wrote:
> 
> It seems some vc-git operations override `default-directory' with the
> parent directory of the files they operate on. It's a problem if they no
> longer exist like in the following scenario.
> 
> Preparation steps in shell:
> 
> $ git init
> $ mkdir olddir/
> $ echo oldcontent > olddir/file.txt
> $ git add olddir/
> $ git commit -m 'Initial commit'
> $ echo newcontent > olddir/file.txt
> $ git add olddir/
> $ git commit -m 'Modify the file'
> $ git mv olddir/ newdir/
> $ git commit -m 'Move the file'
> 
> Reproduction:
> 
> 1. Open newdir/file.txt in Emacs.
> 2. Press `C-x v g' to open `vc-annotate'.
> 3. Press `j' to jump to the revision from before the file was moved.
> 4. Try to move to the next (newer) revision with `n'. The error appears
> here.

Thanks. For the report. I'm including a minor patch below. Does it 
improve things considerably for you?

>> apply: Setting current directory: No such file or directory,
> .../testrepo/olddir/
> 
> It seems in this scenario `vc-annotate' also has trouble with the
> regular navigation (`n' and `p') without the usage of `j' but the error
> message is not as clear.

The problem of `n' and `p' navigation between revisions where the file 
name changed is still present, because of how `vc-git-next-revision' is 
written. Suggestions for a better implementation are welcome.

The patch that fixes the first scenario:

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 1a3f1bf..4767cbf 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1274,9 +1274,8 @@ vc-git--rev-parse

  (defun vc-git-next-revision (file rev)
    "Git-specific version of `vc-next-revision'."
-  (let* ((default-directory (file-name-directory
-			     (expand-file-name file)))
-         (file (file-name-nondirectory file))
+  (let* ((default-directory (vc-git-root file))
+         (file (file-relative-name file))
           (current-rev
            (with-temp-buffer
              (and





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
  2017-04-10  2:30 ` Dmitry Gutov
@ 2017-04-10 15:06   ` Wojciech Siewierski
  2017-04-10 23:25     ` Dmitry Gutov
  0 siblings, 1 reply; 6+ messages in thread
From: Wojciech Siewierski @ 2017-04-10 15:06 UTC (permalink / raw)
  To: Dmitry Gutov, 26345


[-- Attachment #1.1: Type: text/plain, Size: 2392 bytes --]

On 10.04.2017 04:30, Dmitry Gutov wrote:
> On 03.04.2017 00:46, Wojciech Siewierski wrote:
>>
>> It seems some vc-git operations override `default-directory' with the
>> parent directory of the files they operate on. It's a problem if they no
>> longer exist like in the following scenario.
>>
>> Preparation steps in shell:
>>
>> $ git init
>> $ mkdir olddir/
>> $ echo oldcontent > olddir/file.txt
>> $ git add olddir/
>> $ git commit -m 'Initial commit'
>> $ echo newcontent > olddir/file.txt
>> $ git add olddir/
>> $ git commit -m 'Modify the file'
>> $ git mv olddir/ newdir/
>> $ git commit -m 'Move the file'
>>
>> Reproduction:
>>
>> 1. Open newdir/file.txt in Emacs.
>> 2. Press `C-x v g' to open `vc-annotate'.
>> 3. Press `j' to jump to the revision from before the file was moved.
>> 4. Try to move to the next (newer) revision with `n'. The error appears
>> here.
>
> Thanks. For the report. I'm including a minor patch below. Does it
> improve things considerably for you?
>
>>> apply: Setting current directory: No such file or directory,
>> .../testrepo/olddir/
>>
>> It seems in this scenario `vc-annotate' also has trouble with the
>> regular navigation (`n' and `p') without the usage of `j' but the error
>> message is not as clear.
>
> The problem of `n' and `p' navigation between revisions where the file
> name changed is still present, because of how `vc-git-next-revision'
> is written. Suggestions for a better implementation are welcome.
>
> The patch that fixes the first scenario:
>
> diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
> index 1a3f1bf..4767cbf 100644
> --- a/lisp/vc/vc-git.el
> +++ b/lisp/vc/vc-git.el
> @@ -1274,9 +1274,8 @@ vc-git--rev-parse
>
>  (defun vc-git-next-revision (file rev)
>    "Git-specific version of `vc-next-revision'."
> -  (let* ((default-directory (file-name-directory
> -                 (expand-file-name file)))
> -         (file (file-name-nondirectory file))
> +  (let* ((default-directory (vc-git-root file))
> +         (file (file-relative-name file))
>           (current-rev
>            (with-temp-buffer
>              (and
The error is gone but usability-wise not much has changed: now the
vc-annotate buffer contains "fatal: no such path olddir/file.txt in
master" after I finish my test scenario. I guess not much more can be
done. Thanks!


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
  2017-04-10 15:06   ` Wojciech Siewierski
@ 2017-04-10 23:25     ` Dmitry Gutov
  2017-04-14 23:46       ` Wojciech Siewierski
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Gutov @ 2017-04-10 23:25 UTC (permalink / raw)
  To: Wojciech Siewierski, 26345

On 10.04.2017 18:06, Wojciech Siewierski wrote:

> The error is gone but usability-wise not much has changed: now the
> vc-annotate buffer contains "fatal: no such path olddir/file.txt in
> master" after I finish my test scenario.

Hmm, you're right. It does, however, improve the following scenario:

C-x v g, j, p, n

I.e. you can move between revisions belonging to the old file name (with 
the next/previous commands), just not between different file names.

> I guess not much more can be done.

It probably can, but someone would have to work out the exact sequence 
of Git commands to do what we want.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
  2017-04-10 23:25     ` Dmitry Gutov
@ 2017-04-14 23:46       ` Wojciech Siewierski
  2017-05-01  1:41         ` Dmitry Gutov
  0 siblings, 1 reply; 6+ messages in thread
From: Wojciech Siewierski @ 2017-04-14 23:46 UTC (permalink / raw)
  To: Dmitry Gutov, 26345


[-- Attachment #1.1: Type: text/plain, Size: 782 bytes --]

On 11.04.2017 01:25, Dmitry Gutov wrote:
> On 10.04.2017 18:06, Wojciech Siewierski wrote:
>
>> The error is gone but usability-wise not much has changed: now the
>> vc-annotate buffer contains "fatal: no such path olddir/file.txt in
>> master" after I finish my test scenario.
>
> Hmm, you're right. It does, however, improve the following scenario:
>
> C-x v g, j, p, n
>
> I.e. you can move between revisions belonging to the old file name
> (with the next/previous commands), just not between different file names.
>
>> I guess not much more can be done.
>
> It probably can, but someone would have to work out the exact sequence
> of Git commands to do what we want.
Right, I missed that but you're right. That's definitely a massive
improvement. Thanks!


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved
  2017-04-14 23:46       ` Wojciech Siewierski
@ 2017-05-01  1:41         ` Dmitry Gutov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Gutov @ 2017-05-01  1:41 UTC (permalink / raw)
  To: Wojciech Siewierski, 26345

On 15.04.2017 2:46, Wojciech Siewierski wrote:

>> Hmm, you're right. It does, however, improve the following scenario:
>>
>> C-x v g, j, p, n
>>
>> I.e. you can move between revisions belonging to the old file name
>> (with the next/previous commands), just not between different file names.

> Right, I missed that but you're right. That's definitely a massive
> improvement. Thanks!

I've pushed that patch now. Keeping this bug open because it doesn't fix 
the main scenario.

For future reference (mine or someone else's): when we reach the end of 
the revision list for a particular file name, we can call 'git show REV 
-M' to look for the next file name, a simple example here: 
https://kparal.wordpress.com/2011/08/03/git-tip-of-the-day-detect-moved-files/.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-05-01  1:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-02 21:46 bug#26345: 25.1; vc-annotate in Git is unable to fully navigate the history if the file was moved Wojciech Siewierski
2017-04-10  2:30 ` Dmitry Gutov
2017-04-10 15:06   ` Wojciech Siewierski
2017-04-10 23:25     ` Dmitry Gutov
2017-04-14 23:46       ` Wojciech Siewierski
2017-05-01  1:41         ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).