# switch from "id" to "nonce" · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/0fc7c9f57c0042cfe6dab9deb3b5fe2f9404d744)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 0fc7c9f57c0042cfe6dab9deb3b5fe2f9404d744

Requested commit: 0fc7c9f57c0042cfe6dab9deb3b5fe2f9404d744

Commit: 0fc7c9f57c0042cfe6dab9deb3b5fe2f9404d744

Tree: f554469401cd9df8a762a098dc0091a79e0caf7d

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
switch from "id" to "nonce"

mainly this addresses the following use case:

1. Someone creates a template with build.zig.zon, id field included
   (note that zig init does not create this problem since it generates
   fresh id every time it runs).
2. User A uses the template, changing package name to "example" but not
   id field.
3. User B uses the same template, changing package name also to
   "example", also not changing the id field.

Here, both packages have unintentional conflicting logical ids.

By making the field a combination of name checksum + random id, this
accident is avoided. "nonce" is an OK name for this.

Also relaxes errors on remote packages when using `zig fetch`.

```

## Parents

- [a70307e7ffc608643bbd940796eaeb5bca6bbc8f](https://git.cafe/gitcafe/zig/commit/a70307e7ffc608643bbd940796eaeb5bca6bbc8f?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/0fc7c9f57c0042cfe6dab9deb3b5fe2f9404d744?format=markdown)
