Does the since query work for commits in Stash?

The following two REST queries return me exactly the same 25 commits:

Since 62c96826 is the sixth commit returned by the first query I would expect the second query to return me only five (or six?) commits, the five that have been committed "since" 62c96826. Do misunderstand how this works.

1 answer

1 accepted

0 votes
Answer accepted

Hi Curt,

I'm afraid that particular endpoint seems to require that if you want to use 'since' you must provide _both_ since and until. I'm not entirely sure if this is by design or not. The REST documentation does somewhat indicate this, but that may just be based on the current behaviour.

Retrieve a page of changesets from a given starting commit or between two commits.

EDIT: Actually now that I think about it, the reason would have to be that without the 'until' parameter we wouldn't know what branch (or changeset) to terminate at. Would you mean the default branch, which is what happens without any params? I will definitely ask someone next week though.



First, Charles, thanks for the clarification. That works just fine, and will meet my needs.

I do think that the doc should be updated:

- My prefernece is for the behavior to change. Since there is default behavior for no-parameters, I think it is fair to expect the same behavior with since only.

- No-parameters is neither "a given starting point or between two commits". Since that is not true, it seems very natural to assume, in the absence of specific documentation, that the "since" only should work even though not technically meeting the same test. :-)

- The descriptions for 'since' and 'until' are almost identical even though one flies solo just fine and the other doesn't. That difference in behavior should be called out explicitly in the docs.


This is a bit of a side note, but maybe worth mentioning while we are talking about documentation:

The page gives an example which doesn't seem to work as I'd expect if I change the 'at' parameter, and I don't see that parameter documented anywhere. I'm guessing it isn't valid?:

curl -u fred:fred -X POST -H "Content-Type: application/json" http://localhost:7990/rest/api/1.0/projects/WORK/repos/my-repo/commits/?at=master

Hi Curt,

Thanks for pointing that out. In the code that's marked as 'deprecated' (but for some reason isn't being generated in the docs) and has been replaced completely by 'until'. I'll make sure we update that example too.



Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 14, 2019 in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder :  #!/bin/bash source "$(dirname "$0")/" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

280 views 0 12
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you