int flags = 0;
        int tags = 0;
        int rc;
-       int atomic = 0;
        const char *repo = NULL;        /* default repository */
        struct option options[] = {
                OPT__VERBOSITY(&verbosity),
                OPT_BIT(0, "follow-tags", &flags, N_("push missing but relevant tags"),
                        TRANSPORT_PUSH_FOLLOW_TAGS),
                OPT_BIT(0, "signed", &flags, N_("GPG sign the push"), TRANSPORT_PUSH_CERT),
-               OPT_BOOL(0, "atomic", &atomic, N_("request atomic transaction on remote side")),
+               OPT_BIT(0, "atomic", &flags, N_("request atomic transaction on remote side"), TRANSPORT_PUSH_ATOMIC),
                OPT_END()
        };
 
        if (tags)
                add_refspec("refs/tags/*");
 
-       if (atomic)
-               flags |= TRANSPORT_PUSH_ATOMIC;
-
        if (argc > 0) {
                repo = argv[0];
                set_refspecs(argv + 1, argc - 1, repo);