Closed git-afsantos closed 5 years ago
Could you please post the complete output of the time machine?
universal_robot
was indeed only released into Kinetic on the 4th of August (ros/rosdistro#15689). Before that I would expect the time machine to complain (it's really rosinstall_generator
btw that complains).
How are you running the time-machine? Still manually, or using the script that @ChrisTimperley wrote?
Can you provide some details on your workflow and commands used?
This was indeed a manual run. I will try it with the script and see if the outcome is different. Here follows the workflow, though.
./get_issue_creation_date.py https://github.com/ros-industrial/universal_robot/pull/286
2017-01-04T23:34:10Z
(date below was chosen after running git blame
)
./rosinstall_generator_tm.sh "2017-08-04T10:10:42Z" \
kinetic --deps --deps-only --tar ur_kinematics > deps.rosinstall
Requested timepoint: '2017-08-04T10:10:42Z' (1501841442) Resetting local rosdistro clone .. Previous HEAD position was 0654406... robot_model: 1.12.6-0 in 'kinetic/distribution.yaml' [bloom] (#13531) Switched to branch 'master' Your branch is up-to-date with 'origin/master'. Determined rosdistro commit: 7afbecd1 (authored: 1501841907) Reverting to ros/rosdistro@7afbecd1 Determining closest rosdistro cache .. Base cache for new cache: /home/andre/.robust-rosin/rgtm/rgtm_rosdistro_caches/1496270536 Will store new cache in: /home/andre/.robust-rosin/rgtm/rgtm_rosdistro_caches/1501841907
Updating local rosdistro index.yaml to use cache from the past .. Invoking: rosinstall_generator --rosdistro=kinetic --deps --deps-only --tar ur_kinematics Using ROS_DISTRO: kinetic The following not released packages/stacks will be ignored: ur_kinematics No packages/stacks left after ignoring not released
When I tried to use a date one hour later, it seems that the time machine used the same cache.
./rosinstall_generator_tm.sh "2017-08-04T11:10:42Z" kinetic --deps --deps-only --tar ur_kinematics > deps.rosinstall
Requested timepoint: '2017-08-04T11:10:42Z' (1501845042) Resetting local rosdistro clone .. Previous HEAD position was 7afbecd... hrpsys: 315.12.0-0 in 'kinetic/distribution.yaml' [bloom] Switched to branch 'master' Your branch is up-to-date with 'origin/master'. Determined rosdistro commit: 7afbecd1 (authored: 1501841907) Reverting to ros/rosdistro@7afbecd1 Cache already exists for (distro; stamp) tuple, skipping generation Updating local rosdistro index.yaml to use cache from the past .. Invoking: rosinstall_generator --rosdistro=kinetic --deps --deps-only --tar ur_kinematics Using ROS_DISTRO: kinetic The following not released packages/stacks will be ignored: ur_kinematics No packages/stacks left after ignoring not released
Could I also ask you to commit and push the rosdistro
caches that the time machine has generated? You should find them in $HOME/.robust-rosin/rgtm/rgtm_rosdistro_caches
.
When I tried to use a date one hour later, it seems that the time machine used the same cache.
I'm not sure that is unexpected: looking at the history the next commit is by Dirk Thomas who merged the PR that contains 7afbecd1
almost 5 hours after that commit.
Do you believe a different commit should be found?
(date below was chosen after running
git blame
)./rosinstall_generator_tm.sh "2017-08-04T10:10:42Z" \ kinetic --deps --deps-only --tar ur_kinematics > deps.rosinstall
This confuses me a little: if I checkout ros/rosdistro@f0b14fbd (the commit that merges the PR that adds the release of universal_robot
), and I check the timestamp I get:
Date: Fri Aug 4 07:43:51 2017 -0700
which apparently is (via --pretty='%ct'
and unix timestamp converter):
Friday, 4 August 2017 14:43:51 (GMT)
Where did you get 2017-08-04T10:10:42Z
from?
Edit, wait, I'm stupid:
@git-afsantos wrote:
git blame
gives me7ee6cbd0 (ipa-fxm 2017-08-04 10:10:41 +0200 15010)
Shouldn't you use the stamp for the merge-commit? 7ee6cbd0
is the commit that Felix wanted to merge into ros/rosdistro
, but it only ends up there after Dirk merges it.
Could I also ask you to commit and push the
rosdistro
caches that the time machine has generated? You should find them in$HOME/.robust-rosin/rgtm/rgtm_rosdistro_caches
.
I do not have permission to push. Should I just fork and open a PR?
I'm not sure that is unexpected: looking at the history the next commit is by Dirk Thomas who merged the PR that contains
7afbecd1
almost 5 hours after that commit.
Right,. I did not check the history, actually. Adding one hour was just a (un)lucky guess.
Where did you get
2017-08-04T10:10:42Z
from?
I got it from git blame -L 15010,15010 kinetic/distribution.yaml
:
7ee6cbd0 (ipa-fxm 2017-08-04 10:10:41 +0200 15010) - ur_kinematics
And line 15010 is
- ur_kinematics
Could I also ask you to commit and push the
rosdistro
caches that the time machine has generated? You should find them in$HOME/.robust-rosin/rgtm/rgtm_rosdistro_caches
.I do not have permission to push. Should I just fork and open a PR?
yes please.
Where did you get
2017-08-04T10:10:42Z
from?I got it from
git blame -L 15010,15010 kinetic/distribution.yaml
:7ee6cbd0 (ipa-fxm 2017-08-04 10:10:41 +0200 15010) - ur_kinematics
Well, that does get you the stamp of the commit that was added by the PR, but not when it was added to the repository.
For that I believe you should use the stamp of the merge commit.
Shouldn't you use the stamp for the merge-commit?
7ee6cbd0
is the commit that Felix wanted to merge intoros/rosdistro
, but it only ends up there after Dirk merges it.
You are absolutely right. I thought git blame
would give me back the time it was added into master
, so I did not think of checking for merges, but it is obvious now that this is a branching issue.
By the way, I tried it with build-rosinstall.py
(using the PR as the issue, since the bug has no original issue), and the outcome is the same.
Yes, I would've expected that.
See #270 where @ChrisTimperley reversed the precedence of the stamp and the issue/pr URL.
See #262 for a discussion of an issue similar to your own.
I'd recommend adding the timestamp of the commit that merges the PR of Felix into ros/rosdistro
in the .bug
description and adding a comment as to why that timestamp is used (similar to what @ipa-hsd did in #262).
Specifically https://github.com/robust-rosin/robust/issues/262#issuecomment-479370815 and #269.
I thought
git blame
would give me back the time it was added intomaster
, so I did not think of checking for merges, but it is obvious now that this is a branching issue.
I've not used it, but apparently someone had a similar need and wrote mhagger/git-when-merged.
Edit: and a few alternatives: SO: Find merge commit which include a specific commit.
The alias find-merge
from the SO post I linked above returns the correct merge commit for me:
$ git find-merge 7ee6cbd0
f0b14fbd2d4d483347179dcafea89478847951de
convenient.
@git-afsantos: can this be closed?
Yes, I have the .rosinstall
file now. Thanks for the pointers!
I picked up
c779432
to reproduce, but running the time machine with the pull request creation date says the package had not been released yet.I ran
git blame
onrosdistro
to find out the release date in Kinetic and used that to run the time machine again. Still no luck. I even tried a date that is one hour later than the release, and no luck either.git blame
gives mewhich is already several months after the issue date, but the time machine says
Which seems to have been pushed some time later, but for some reason (branching issues?) does not contain
ur_kinematics
.@gavanderhoorn Any suggestion to find a suitable date?