Bug #919

tool/file2lastrev.rbでエラー

Added by Tadashi Saito over 5 years ago. Updated almost 3 years ago.

[ruby-dev:37555]
Status:Closed
Priority:Normal
Assignee:Yuki Sonoda
Category:-
Target version:2.0.0
ruby -v: Backport:

Description

=begin
ソースと違うディレクトリでtrunkをmakeしようとすると、
tool/file2lastrev.rbでエラーが出てmakeできません。

$ make
ruby ../tool/file2lastrev.rb --revision.h ".." > "../revision.h.tmp"
svn: '.' is not a working copy
../tool/file2lastrev.rb:34:in `get_revisions': last revision not found (RuntimeError)
from ../tool/file2lastrev.rb:70
make: *** [../revision.h] エラー 1

一応下ので直りましたが、汎用性があるのか正直自信がありません。

Index: tool/file2lastrev.rb
===================================================================
--- tool/file2lastrev.rb (revision 20922)
+++ tool/file2lastrev.rb (working copy)
@@ -10,8 +10,8 @@

path = target_path.directory? ? target_path : target_path.parent  
begin
  • return :svn, targetpath.relativepath_from(path) if File.directory?("#{path}/.svn")
  • return :git, targetpath.relativepath_from(path) if File.directory?("#{path}/.git")
  • return :svn, targetpath.relativepath_from(Pathname.pwd) if File.directory?("#{path}/.svn")
  • return :git, targetpath.relativepath_from(Pathname.pwd) if File.directory?("#{path}/.git") path, orig = path.parent, path end until path == orig raise VCSNotFoundError, "does not seem to be under a vcs" =end

History

#1 Updated by Koichi Sasada over 5 years ago

=begin
 ささだです.

Tadashi Saito wrote::

一応下ので直りましたが、汎用性があるのか正直自信がありません。

 私はよくわかんなかったので,簡単にしてみました.でも,なんでフルパスに
するんだろう.

Index: tool/file2lastrev.rb
===================================================================
--- tool/file2lastrev.rb (リビジョン 20922)
+++ tool/file2lastrev.rb (作業コピー)
@@ -6,12 +6,15 @@
class VCSNotFoundError < RuntimeError; end

def detectvcs(path)
- target
path = Pathname(File.expandpath(path))
+ # target
path = Pathname(File.expandpath(path))
+ #
+ # path = target
path.directory? ? targetpath : targetpath.parent
+ #
+ path = Pathname(File.dirname($0)).parent

  • path = targetpath.directory? ? targetpath : target_path.parent begin
  • return :svn, targetpath.relativepath_from(path) if File.directory?("#{pat h}/.svn")
  • return :git, targetpath.relativepath_from(path) if File.directory?("#{pat h}/.git")
  • return :svn, path if File.directory?("#{path}/.svn")
  • return :git, path if File.directory?("#{path}/.git")
    path, orig = path.parent, path
    end until path == orig
    raise VCSNotFoundError, "does not seem to be under a vcs"

    // SASADA Koichi at atdot dot net

=end

#2 Updated by Yuki Sonoda over 5 years ago

=begin
Yuguiです。

すみません。私のバグです。

On 12/23/08 7:12 AM, SASADA Koichi wrote:

Pathname(File.dirname($0)).parent

あ、そうか。これで行けそうです。ありがとうございます。

--
Yugui yugui@yugui.jp
http://yugui.jp
私は私をDumpする

=end

#3 Updated by Yuki Sonoda over 5 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r20936.
=end

Also available in: Atom PDF