summaryrefslogtreecommitdiff
path: root/tool/file2lastrev.rb
Commit message (Collapse)AuthorAgeFilesLines
* Avoid overwriting revision.h when .git doesn't exist (#6915)Takashi Kokubun2022-12-121-1/+5
| | | | | * Avoid overwriting revision.h when .git doesn't exist * Overwrite revision.h if it's blank
* file2lastrev.rb: changed revision may be `nil` [ci skip]Nobuyoshi Nakada2022-11-021-2/+4
| | | | | | When `--suppress_not_found` option is given, no revision information is available. And remove extraneous newline, when result is empty or ends with a newline.
* file2lastrev.rb: try to overwrite the found revision.h as beforeNobuyoshi Nakada2022-11-021-1/+1
|
* file2lastrev.rb: separate options for `Output` and `VPath`Nobuyoshi Nakada2022-11-021-1/+2
| | | | | So the `--srcdir` option in this file can override the same option in `VPath`.
* file2lastrev.rb: use output.rb for the optionsNobuyoshi Nakada2022-11-011-2/+5
|
* file2lastrev.rb: rename output as formatNobuyoshi Nakada2022-11-011-15/+15
| | | | | | Also: - format -> time_format - output -> formatter
* file2lastrev.rb: Refactor VCS directory searchNobuyoshi Nakada2022-10-121-15/+8
| | | | | | | Search VCS directory after other options are in effective, i.e., `--srcdir=nonexitent --suppress_not_found` options, as well as the reverse order case, should print the current date only and exit successfully.
* Introduce `VCS::Null` for fallbackNobuyoshi Nakada2022-09-301-12/+4
|
* Fallback to VCS.release_date on VCS::NotFoundErrorTakashi Kokubun2022-09-171-6/+7
| | | | | | | | | | | | | | | | | | | | when -q is given. One of the RubyCI servers, freebsd12, had a broken git environment: ``` $ git show fatal: detected dubious ownership in repository at '/usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby' To add an exception for this directory, call: git config --global --add safe.directory /usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby ``` tool/lib/vcs.rb doesn't work normally for that server. Even for such cases, we'd like to generate a usable revision.h. So this patch lets revision.h fallback to default VCS.release_date when VCS::NotFoundError is raised.
* Auto-generate the release date on version.h from git CommitDate (#6382)Takashi Kokubun2022-09-171-2/+8
| | | | | | | * Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin
* VCS#revision_header: Make arguments optionalNobuyoshi Nakada2022-09-011-1/+1
|
* Extract `VCS#revision_header`Nobuyoshi Nakada2022-09-011-22/+1
|
* Exit gently if no VCS found but --suppress_not_found is givenNobuyoshi Nakada2019-09-071-0/+1
|
* Removed no longer used variableNobuyoshi Nakada2019-09-071-1/+0
|
* Assign to vcs in new_vcs block not to use rescue resultNobuyoshi Nakada2019-09-071-3/+4
|
* Fixed wrong method at 71f7b0421acNobuyoshi Nakada2019-09-071-1/+1
|
* Refined file2lastrev.rb optionsNobuyoshi Nakada2019-09-071-20/+30
| | | | | | | * check --srcdir if given twice or more * falls back to the current working directory if no --srcdir option is given. * define common VCS options.
* Put vcs .rb to under the lib direcotory.Hiroshi SHIBATA2019-07-151-1/+1
| | | | Because it's the common library for tool files.
* Git branch name can contain `#{}` tooNobuyoshi Nakada2019-07-071-1/+2
|
* Unescape #{} in the last commit titleNobuyoshi Nakada2019-07-071-1/+2
| | | | | | | | | | | | | Get rid of unknown escape sequence warning, as `#` is not a special character in C. ``` version.c:126:26: warning: unknown escape sequence '\#' [-Wunknown-escape-sequence] fputs("last_commit=" RUBY_LAST_COMMIT_TITLE, stdout); ^~~~~~~~~~~~~~~~~~~~~~ revision.h:4:42: note: expanded from macro 'RUBY_LAST_COMMIT_TITLE' ^~ ```
* Revert RUBY_RELEASE_DATE to date onlyNobuyoshi Nakada2019-06-211-6/+1
|
* Use UTC for file2lastrev timezoneTakashi Kokubun2019-06-101-2/+2
| | | | | | | | | | | | | 02155da7bad37bd1c8adadd486d2d16eac7af43b got a claim about sacrificing ability to compare arbitrary `RUBY_DESCRIPTION`s without converting timezones. Because most of the people would be familiar with timezone conversion with UTC but it'd be harder when it comes to JST, this commit just changes the timezone in f42588f754d5885ec30631e5008c383f3ef905d8 to UTC. Another bonus in using UTC is that we can use a shorter variant of ISO 8601 format like "2019-06-10T14:26:24Z" (the last Z part).
* Make file2lastrev timezone consistent with git logTakashi Kokubun2019-06-101-4/+1
| | | | | | | | | | | | | | | Using the same timezone for all commits is convenient when just looking dates in RUBY_DESCRIPTION, but usually we also check `git log` when we're interested in the order of commits. `git log` shows times in committer's timezone and forcing RUBY_RELEASE_DATE to JST makes it harder to find a corresponding commit from `git log`. Because this label is only used in development, I believe there's no strict requirement to use traditional timezone for release here. Also when building Ruby after committing from a non-JST timezone, I'd be surprised to see a strange time (in a different timezone) for my very new commit in `ruby -v`.
* Make RUBY_RELEASE_DATE full on developmentNobuyoshi Nakada2019-06-081-0/+11
| | | | I cannot tell the order just by commit hashes.
* Default GIT external encoding to UTF-8 🤷‍♂️Nobuyoshi Nakada2019-06-031-0/+3
| | | | And dump the title as US-ASCII.
* Add --limit option and default it to 20Nobuyoshi Nakada2019-05-311-1/+5
|
* Define RUBY_FULL_REVISIONNobuyoshi Nakada2019-05-311-2/+3
| | | | Only if the short revision differs from the full revision.
* Make RUBY_REVISION full lengthNobuyoshi Nakada2019-05-221-1/+3
|
* Fix revision nameNobuyoshi Nakada2019-05-221-1/+1
| | | | | | | | * tool/make-snapshot (package): use the last revision of the whole tree as the revision name, not a single file. * tool/file2lastrev.rb: ditto. dump without unnecessary subrange and literal quotes, to stringize SVN revisions properly.
* Migrate RUBY_VERSION/RUBY_DESCRIPTION to GitTakashi Kokubun2019-04-221-1/+1
| | | | | | | | | | | | | | from Subversion. This behavior is tentative and not discussed well. The point of discussion will be just the length of commit hash, and I thought we should include this kind of change in 2.7.0-preview1 release even before the length is fixed yet. Let's discuss that afterwards and fix it later as needed. Naruse suggested that length=10 is very unlikely to cause conflict, and thus it's used by email notification and rubyci now. This behavior is in favor of that for now.
* file2lastrev.rb: suppress_not_foundnobu2017-12-061-1/+2
| | | | | | | * tool/file2lastrev.rb: exit successfully when command not found, and if --suppress_not_found is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool: add descriptions and fix typosnormal2016-07-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tool/asm_parse.rb: add description * tool/change_maker.rb: ditto * tool/downloader.rb: ditto * tool/eval.rb: ditto * tool/expand-config.rb: ditto * tool/extlibs.rb: ditto * tool/fake.rb: ditto * tool/file2lastrev.rb: ditto * tool/gem-unpack.rb: ditto * tool/gen_dummy_probes.rb: ditto * tool/gen_ruby_tapset.rb: ditto * tool/generic_erb.rb: ditto * tool/id2token.rb: ditto * tool/ifchange: ditto * tool/insns2vm.rb: ditto * tool/instruction.rb: ditto * tool/jisx0208.rb: ditto * tool/merger.rb: ditto * tool/mkrunnable.rb: ditto * tool/node_name.rb: ditto * tool/parse.rb: ditto * tool/rbinstall.rb: ditto * tool/rbuninstall.rb: ditto * tool/rmdirs: ditto * tool/runruby.rb: ditto * tool/strip-rdoc.rb: ditto * tool/vcs.rb: ditto * tool/vtlh.rb: ditto * tool/ytab.sed: ditto * tool/enc-unicode.rb: fix typo * tool/mk_call_iseq_optimized.rb: ditto * tool/update-deps: ditto [ruby-core:76215] [Bug #12539] by Noah Gibbs <the.codefolio.guy@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7.sorah2015-12-241-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file2lastrev.rb: format for modifiednobu2015-05-231-2/+4
| | | | | | | * tool/file2lastrev.rb: add optional argument to --modified, for strftime format. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file2lastrev.rb: all ARGVnobu2015-05-231-27/+42
| | | | | | * tool/file2lastrev.rb: output for each arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* version.c: last commit titlenobu2015-02-181-1/+4
| | | | | | | * version.c (ruby_show_version): show last commit title, if different than the trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file2lastrev.rb: no ellipsis shorter namesnobu2015-01-171-1/+1
| | | | | | | * tool/file2lastrev.rb (revision_h): do not truncate and ellipsis names shorter than the limit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file2lastrev.rb: limit branch namesnobu2015-01-171-1/+6
| | | | | | | * tool/file2lastrev.rb (revision_h): limit branch names upto 16 chars, and replace extra part with ".." not to exceed the limit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* version.h: include branch namenobu2015-01-171-2/+3
| | | | | | | | | | * tool/file2lastrev.rb, tool/vcs.rb (get_revisions): define RUBY_BRANCH_NAME from the current branch name. * version.h (RUBY_REVISION_STR): include the current branch name not "trunk" always. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/vcs.rb: no time.rbnobu2014-08-221-1/+6
| | | | | | | * common.mk (Doxyfile): revert r43888, not to require preinstalled ruby. [ruby-core:64488] [Bug #10161] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: spec date from VCSnobu2013-11-091-0/+3
| | | | | | | | * tool/rbinstall.rb (Gem::Specification.load): obtain spec date from VCS for the case using git, RUBY_RELEASE_DATE is the last resort. probably fixes [Bug #9085]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vcs.rb: splitnobu2013-11-091-101/+1
| | | | | | * tool/vcs.rb: split from file2lastrev.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb (VCS::detect): Add support for Subversionknu2012-01-021-3/+10
| | | | | | | | | | | 1.7 which adopted a whole new working directory structure. * tool/file2lastrev.rb (VCS::detect): Simply use .each instead of .sort.reverse_each which looks too arbitrary. If you want SVN to be tried first, then you just have to register it first as it is right now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb: don't depend on pathname.rb if File.realpathakr2010-07-171-16/+23
| | | | | | | is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb (VCS::SVN::get_revisions.): remind aboutnobu2010-04-161-2/+2
| | | | | | DOSISH, sometimes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb: use backtick for ruby 1.8.akr2010-04-151-1/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb: this should run with ruby 1.8.naruse2010-04-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb: make -q effective for files not versionakr2010-04-151-2/+7
| | | | | | | controlled. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb (VCS#relative_to): path and @srcdir may haveakr2010-04-021-1/+16
| | | | | | | different relative-ness. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/file2lastrev.rb (VCS::GIT_SVN): removed because git-log cannobu2010-03-301-10/+0
| | | | | | deal with git-svn repository faster than git-svn-info. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e