# Where is the documentation for uploaded test data?

**URL:** <https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877>\
**Category:** Beginner Questions\
**Created:** [April 27, 2018, 5:58pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877 "2018-04-27T17:58:20Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [April 27, 2018, 5:58pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/1 "2018-04-27T17:58:20Z")

</div>

I have encounter a lot of old documentation that indicate that new baselines should be automatically uploaded:  
[https://www.google.com/search?client=safari&rls=en&q=ITK+upload+test+data&ie=UTF-8&oe=UTF-8](https://www.google.com/search?client=safari&rls=en&q=ITK+upload+test+data&ie=UTF-8&oe=UTF-8)

> <https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/Data.md>

I believe this is the current document:

> <https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/UploadBinaryData.md>

But there are still a lot of references to the data being automatically uploaded.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [April 27, 2018, 7:14pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/2 "2018-04-27T19:14:32Z")

</div>

It also appear that if you just run the local CMake configure and build, you only get the MD5 file. But then the recommendation is to upload to [data.kitware.com](http://data.kitware.com), which uses the sha512 file, which is not created.

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [April 27, 2018, 10:07pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/3 "2018-04-27T22:07:33Z")

</div>

Either set of documentation can currently be followed.

> InsightSoftwareConsortium/ITK/blob/master/Documentation/Data.md

In this document, `cmake` is executed, and it generates a `.md5` file.

> InsightSoftwareConsortium/ITK/blob/master/Documentation/UploadBinaryData.md

In this document, upload the binary to `data.kitware.com`, and download the `.sha512` file.

> [@blowekamp](#):
>
> It also appear that if you just run the local CMake configure and build, you only get the MD5 file. But then the recommendation is to upload to [data.kitware.com](http://data.kitware.com), which uses the sha512 file, which is not created.

Please follow one or the other – they are different methods.

After the transition to GitHub, only the second method will be valid, and we will update the documentation accordingly.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [April 27, 2018, 10:25pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/4 "2018-04-27T22:25:49Z")

</div>

The first method is broken as the data is not uploaded automatically. The second newer method does not work well with CMake because it automatically move my data and replaces it with the md5 file. While the documentation is verbose it is not clear on the process for ITK testing data.

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [April 27, 2018, 10:37pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/5 "2018-04-27T22:37:50Z")

</div>

> [@blowekamp](#):
>
> The first method is broken as the data is not uploaded automatically.

The data gets uploaded when `git gerrit-push` is executed.

> [@blowekamp](#):
>
> The second newer method does not work well with CMake because it automatically move my data and replaces it with the md5 file. While the documentation is verbose it is not clear on the process for ITK testing data.

The second method is better because it does not require running CMake.

The key is to follow one or the other document. Soon, we will have just one document.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [April 27, 2018, 10:43pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/6 "2018-04-27T22:43:31Z")

</div>

> [@matt.mccormick](#):
>
> The data gets uploaded when git gerrit-push is executed.

Nope, doesn’t seem to happen.

> [@matt.mccormick](#):
>
> The second method is better because it does not require running CMake.
> 
> The key is to follow one or the other document. Soon, we will have just one document.

I like ( at least I try ) to run and test before submitting to gerrit, so that does not work either.

They are broken.

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [April 28, 2018, 2:30pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/7 "2018-04-28T14:30:41Z")

</div>

> [@blowekamp](#):
>
> The data gets uploaded when git gerrit-push is executed.
> 
> Nope, doesn’t seem to happen.

The documentation needs to be read and followed.

> [@blowekamp](#):
>
> The second method is better because it does not require running CMake.
> 
> The key is to follow one or the other document. Soon, we will have just one document.
> 
> I like ( at least I try ) to run and test before submitting to gerrit, so that does not work either.

The old system, which requires the developer to 1) generate the blob and content hash with CMake, and 2) upload the contents with `git gerrit-push`, has a few issues. First, if step 1) and 2) are not performed with the repository, the binary data does not get uploaded. This may be why it was not uploaded in your case. Second, people have a hard time understanding how the data is uploaded in step 2). In the new system, uploading to `data.kitware.com`, the process is explicit, which helps to address these issues.

> [@blowekamp](#):
>
> They are broken.

They work. They have some issues, but these issues are being addressed.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [April 30, 2018, 8:12pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/8 "2018-04-30T20:12:57Z")

</div>

Ahh, it work following the instructions precisely. I see the following during the commit:

> Modules/Filtering/ImageGrid/test/Baseline/foo.png.md5: Added content to Git at refs/data/MD5/d41d8cd98f00b204e9800998ecf8427e  
> Modules/Filtering/ImageGrid/test/Baseline/foo.png.md5: Added content to local store at .ExternalData/MD5/d41d8cd98f00b204e9800998ecf8427e

However, my usual process involves using append. When I try to `append` a commit with data, as oppose to literally “commit”, the appropriate script is NOT called. I did not see the above message when using “amend”.

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [May 1, 2018, 10:23pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/9 "2018-05-01T22:23:28Z")

</div>

> [@blowekamp](#):
>
> However, my usual process involves using append. When I try to append a commit with data, as oppose to literally “commit”, the appropriate script is NOT called. I did not see the above message when using “amend”.

I assume this refers to `git commit --amend` – there is no standard `append` command.

> [@blowekamp](#):
>
> Modules/Filtering/ImageGrid/test/Baseline/foo.png.md5: Added content to Git at refs/data/MD5/d41d8cd98f00b204e9800998ecf8427e
> 
> Modules/Filtering/ImageGrid/test/Baseline/foo.png.md5: Added content to local store at .ExternalData/MD5/d41d8cd98f00b204e9800998ecf8427e

This message will only show up when the data is added to Git. If `git commit --amend` is used multiple times afterwards without any changes to the data, it will not show up.

Here is an example where the data was added with `git commit --amend`:

[http://review.source.kitware.com/#/c/23383/](http://review.source.kitware.com/#/c/23383/)

---

<div class="post-metadata">

**Author:** ![jhlegarreta](https://discourse.itk.org/user_avatar/discourse.itk.org/jhlegarreta/32/476_2.png) [@jhlegarreta](https://discourse.itk.org/u/jhlegarreta)\
**Post date:** [May 2, 2018, 4:41pm UTC](https://discourse.itk.org/t/where-is-the-documentation-for-uploaded-test-data/877/10 "2018-05-02T16:41:49Z")

</div>

@matt.mccormick @blowekamp thanks for casting light on this.

@blowekamp I grant that the documentation may be misleading or may seem to be duplicated at some points. As it has been said, this may partially be due to the transition period we are going through, but I’d be happy to edit any section, remove redundancies, and overall, make more robust any section of the documentation.

Also, at the time the `md` files were created, the information was dumped from several sources, and they may need refinement and edition.

If there is any tribal knowledge, this should make it into the documentation. And if overly complicated, we should also work with fresh members to simplify it so that it does not confuse anybody.

We can work on an [Atlassian issue](https://insightsoftwareconsortium.atlassian.net/secure/Dashboard.jspa) or a [gerrit topic](http://review.source.kitware.com/#/q/status:open) if you have already thought about the ways to improve this.
